>>> kismet: Building testing/kismet 0.202307.1-r4 (using abuild 3.14.1-r1) started Mon, 11 Nov 2024 19:26:03 +0000 >>> kismet: Validating /home/buildozer/aports/testing/kismet/APKBUILD... >>> kismet: Analyzing dependencies... >>> kismet: Installing for build: build-base abseil-cpp-dev libnl3-dev libpcap-dev linux-headers openssl-dev pcre2-dev protobuf-c-dev protobuf-dev sqlite-dev zlib-dev (1/133) Installing linux-headers (6.6-r1) (2/133) Installing abseil-cpp-atomic-hook-test-helper (20240722.0-r0) (3/133) Installing abseil-cpp-bad-any-cast-impl (20240722.0-r0) (4/133) Installing abseil-cpp-bad-optional-access (20240722.0-r0) (5/133) Installing abseil-cpp-bad-variant-access (20240722.0-r0) (6/133) Installing abseil-cpp-spinlock-wait (20240722.0-r0) (7/133) Installing abseil-cpp-base (20240722.0-r0) (8/133) Installing abseil-cpp-city (20240722.0-r0) (9/133) Installing abseil-cpp-civil-time (20240722.0-r0) (10/133) Installing abseil-cpp-raw-logging-internal (20240722.0-r0) (11/133) Installing abseil-cpp-crc-internal (20240722.0-r0) (12/133) Installing abseil-cpp-crc32c (20240722.0-r0) (13/133) Installing abseil-cpp-crc-cord-state (20240722.0-r0) (14/133) Installing abseil-cpp-strings-internal (20240722.0-r0) (15/133) Installing abseil-cpp-strings (20240722.0-r0) (16/133) Installing abseil-cpp-cord-internal (20240722.0-r0) (17/133) Installing abseil-cpp-exponential-biased (20240722.0-r0) (18/133) Installing abseil-cpp-cordz-functions (20240722.0-r0) (19/133) Installing abseil-cpp-time-zone (20240722.0-r0) (20/133) Installing abseil-cpp-time (20240722.0-r0) (21/133) Installing abseil-cpp-kernel-timeout-internal (20240722.0-r0) (22/133) Installing abseil-cpp-malloc-internal (20240722.0-r0) (23/133) Installing abseil-cpp-stacktrace (20240722.0-r0) (24/133) Installing abseil-cpp-synchronization (20240722.0-r0) (25/133) Installing abseil-cpp-cordz-handle (20240722.0-r0) (26/133) Installing abseil-cpp-cordz-info (20240722.0-r0) (27/133) Installing abseil-cpp-cord (20240722.0-r0) (28/133) Installing abseil-cpp-cordz-sample-token (20240722.0-r0) (29/133) Installing abseil-cpp-crc-cpu-detect (20240722.0-r0) (30/133) Installing abseil-cpp-debugging-internal (20240722.0-r0) (31/133) Installing abseil-cpp-strerror (20240722.0-r0) (32/133) Installing abseil-cpp-status (20240722.0-r0) (33/133) Installing gtest (1.15.2-r0) (34/133) Installing abseil-cpp (20240722.0-r0) (35/133) Installing abseil-cpp-demangle-internal (20240722.0-r0) (36/133) Installing abseil-cpp-symbolize (20240722.0-r0) (37/133) Installing abseil-cpp-examine-stack (20240722.0-r0) (38/133) Installing abseil-cpp-low-level-hash (20240722.0-r0) (39/133) Installing abseil-cpp-hash (20240722.0-r0) (40/133) Installing abseil-cpp-log-globals (20240722.0-r0) (41/133) Installing abseil-cpp-log-internal-globals (20240722.0-r0) (42/133) Installing abseil-cpp-int128 (20240722.0-r0) (43/133) Installing abseil-cpp-str-format-internal (20240722.0-r0) (44/133) Installing abseil-cpp-log-internal-format (20240722.0-r0) (45/133) Installing abseil-cpp-log-sink (20240722.0-r0) (46/133) Installing abseil-cpp-log-internal-log-sink-set (20240722.0-r0) (47/133) Installing abseil-cpp-log-internal-proto (20240722.0-r0) (48/133) Installing abseil-cpp-log-internal-message (20240722.0-r0) (49/133) Installing abseil-cpp-die-if-null (20240722.0-r0) (50/133) Installing abseil-cpp-exception-safety-testing (20240722.0-r0) (51/133) Installing abseil-cpp-failure-signal-handler (20240722.0-r0) (52/133) Installing abseil-cpp-flags-commandlineflag-internal (20240722.0-r0) (53/133) Installing abseil-cpp-flags-commandlineflag (20240722.0-r0) (54/133) Installing abseil-cpp-flags-program-name (20240722.0-r0) (55/133) Installing abseil-cpp-flags-config (20240722.0-r0) (56/133) Installing abseil-cpp-flags-internal (20240722.0-r0) (57/133) Installing abseil-cpp-flags-marshalling (20240722.0-r0) (58/133) Installing abseil-cpp-flags-private-handle-accessor (20240722.0-r0) (59/133) Installing abseil-cpp-raw-hash-set (20240722.0-r0) (60/133) Installing abseil-cpp-flags-reflection (20240722.0-r0) (61/133) Installing abseil-cpp-flags-usage (20240722.0-r0) (62/133) Installing abseil-cpp-flags-usage-internal (20240722.0-r0) (63/133) Installing abseil-cpp-flags-parse (20240722.0-r0) (64/133) Installing abseil-cpp-graphcycles-internal (20240722.0-r0) (65/133) Installing abseil-cpp-hash-generator-testing (20240722.0-r0) (66/133) Installing abseil-cpp-hashtablez-sampler (20240722.0-r0) (67/133) Installing abseil-cpp-leak-check (20240722.0-r0) (68/133) Installing abseil-cpp-log-entry (20240722.0-r0) (69/133) Installing abseil-cpp-log-internal-fnmatch (20240722.0-r0) (70/133) Installing abseil-cpp-vlog-config-internal (20240722.0-r0) (71/133) Installing abseil-cpp-log-flags (20240722.0-r0) (72/133) Installing abseil-cpp-log-initialize (20240722.0-r0) (73/133) Installing abseil-cpp-log-internal-nullguard (20240722.0-r0) (74/133) Installing abseil-cpp-log-internal-check-op (20240722.0-r0) (75/133) Installing abseil-cpp-log-internal-conditions (20240722.0-r0) (76/133) Installing abseil-cpp-log-severity (20240722.0-r0) (77/133) Installing abseil-cpp-log-internal-test-actions (20240722.0-r0) (78/133) Installing abseil-cpp-log-internal-test-helpers (20240722.0-r0) (79/133) Installing abseil-cpp-log-internal-test-matchers (20240722.0-r0) (80/133) Installing abseil-cpp-per-thread-sem-test-common (20240722.0-r0) (81/133) Installing abseil-cpp-periodic-sampler (20240722.0-r0) (82/133) Installing abseil-cpp-pow10-helper (20240722.0-r0) (83/133) Installing abseil-cpp-random-distributions (20240722.0-r0) (84/133) Installing abseil-cpp-random-internal-distribution-test-util (20240722.0-r0) (85/133) Installing abseil-cpp-random-internal-platform (20240722.0-r0) (86/133) Installing abseil-cpp-random-internal-randen-slow (20240722.0-r0) (87/133) Installing abseil-cpp-random-internal-randen (20240722.0-r0) (88/133) Installing abseil-cpp-random-internal-seed-material (20240722.0-r0) (89/133) Installing abseil-cpp-random-seed-gen-exception (20240722.0-r0) (90/133) Installing abseil-cpp-random-internal-pool-urbg (20240722.0-r0) (91/133) Installing abseil-cpp-random-internal-randen-hwaes-impl (20240722.0-r0) (92/133) Installing abseil-cpp-random-internal-randen-hwaes (20240722.0-r0) (93/133) Installing abseil-cpp-random-seed-sequences (20240722.0-r0) (94/133) Installing gmock (1.15.2-r0) (95/133) Installing abseil-cpp-scoped-mock-log (20240722.0-r0) (96/133) Installing abseil-cpp-scoped-set-env (20240722.0-r0) (97/133) Installing abseil-cpp-spinlock-test-common (20240722.0-r0) (98/133) Installing abseil-cpp-stack-consumption (20240722.0-r0) (99/133) Installing abseil-cpp-statusor (20240722.0-r0) (100/133) Installing abseil-cpp-string-view (20240722.0-r0) (101/133) Installing abseil-cpp-test-instance-tracker (20240722.0-r0) (102/133) Installing abseil-cpp-throw-delegate (20240722.0-r0) (103/133) Installing abseil-cpp-time-internal-test-util (20240722.0-r0) (104/133) Installing abseil-cpp-dev (20240722.0-r0) (105/133) Installing libnl3 (3.10.0-r0) (106/133) Installing libnl3-cli (3.10.0-r0) (107/133) Installing libnl3-dev (3.10.0-r0) (108/133) Installing libpcap (1.10.5-r0) (109/133) Installing libpcap-dev (1.10.5-r0) (110/133) Installing openssl-dev (3.3.2-r3) (111/133) Installing bsd-compat-headers (0.7.2-r6) (112/133) Installing libformw (6.5_p20241006-r2) (113/133) Installing libmenuw (6.5_p20241006-r2) (114/133) Installing libpanelw (6.5_p20241006-r2) (115/133) Installing libncurses++ (6.5_p20241006-r2) (116/133) Installing ncurses-dev (6.5_p20241006-r2) (117/133) Installing libedit-dev (20240808.3.1-r0) (118/133) Installing zlib-dev (1.3.1-r2) (119/133) Installing libpcre2-16 (10.43-r0) (120/133) Installing libpcre2-32 (10.43-r0) (121/133) Installing pcre2-dev (10.43-r0) (122/133) Installing libprotobuf (24.4-r4) (123/133) Installing libprotoc (24.4-r4) (124/133) Installing protobuf-c-compiler (1.5.0-r2) (125/133) Installing protobuf-c (1.5.0-r2) (126/133) Installing protobuf-c-dev (1.5.0-r2) (127/133) Installing protoc (24.4-r4) (128/133) Installing libprotobuf-lite (24.4-r4) (129/133) Installing protobuf-dev (24.4-r4) (130/133) Installing sqlite (3.47.0-r0) (131/133) Installing sqlite-libs (3.47.0-r0) (132/133) Installing sqlite-dev (3.47.0-r0) (133/133) Installing .makedepends-kismet (20241111.192604) Executing busybox-1.37.0-r6.trigger OK: 284 MiB in 235 packages >>> kismet: Cleaning up srcdir >>> kismet: Cleaning up pkgdir >>> kismet: Cleaning up tmpdir >>> kismet: Fetching https://distfiles.alpinelinux.org/distfiles/edge/kismet-0.202307.1.tar.xz >>> kismet: Fetching https://distfiles.alpinelinux.org/distfiles/edge/kismet-0.202307.1.tar.xz >>> kismet: Checking sha512sums... kismet-0.202307.1.tar.xz: OK >>> kismet: Unpacking /var/cache/distfiles/kismet-0.202307.1.tar.xz... >>> kismet: Updating ./config.sub checking build system type... loongarch64-alpine-linux-musl checking host system type... loongarch64-alpine-linux-musl checking for loongarch64-alpine-linux-musl-gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether the compiler supports GNU C++... yes checking whether g++ accepts -g... yes checking for g++ option to enable C++11 features... none needed checking for a BSD-compatible install... /usr/bin/install -c checking whether make sets $(MAKE)... yes checking how to run the C preprocessor... gcc -E checking for platform-specific compiler flags... none needed checking gcc version... 14.2.0 checking whether g++ supports C++17 features with -std=gnu++17... yes checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking whether byte ordering is bigendian... no configure: WARNING: Disabling Python and Python-related tools checking for dwarf_begin in -ldw... no checking for bfd_alloc in -lbfd... no checking for unwind.h... yes checking for execinfo.h... no checking for stdint.h... (cached) yes checking for strerror_r() return... int checking for accept() addrlen type... socklen_t checking for pipe2... yes checking for special C compiler options needed for large files... no checking for _FILE_OFFSET_BITS value needed for large files... no checking for dlopen in -ldl... yes checking for deflate in -lz... yes checking for libatomic... yes checking for pthread_mutex_timedlock... yes checking for libm math function in std libs... yes checking for main in -lstdc++... yes checking for group 'root'... yes checking for setproctitle... no checking for libutil.h... no checking for setproctitle in -lutil... no checking for sys/pstat.h... no checking how to run the C++ preprocessor... g++ -std=gnu++17 -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking whether __progname and __progname_full are available... yes checking which argv replacement method to use... writeable checking for linux/wireless.h... yes checking that linux/wireless.h is what we expect... yes checking can we use iw_freq.flags... yes checking for cap_init in -lcap... no checking for sys/prctl.h... yes checking for sys/capability.h... no checking Checking C++17 parallel functions... ok checking for sqlite3_libversion in -lsqlite3... yes checking for sqlite3.h... yes checking for loongarch64-alpine-linux-musl-pkg-config... no checking for pkg-config... pkg-config checking whether compiling and linking against OpenSSL works... yes checking for loongarch64-alpine-linux-musl-pkg-config... no checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for libpcap... yes checking for protobuf... yes checking for protoc... yes checking for libprotobuf-c... yes checking for protoc-c... yes Using local radiotap headers checking for libnm... no configure: WARNING: Libnm missing device_set_managed function may be a very old version checking for libnl-3.0... yes checking for libnl-genl-3.0... yes checking for libnl-2.0... no checking for libnl-1... no checking For mac80211 support in netlink library... yes configure: WARNING: missing libusb, ubertooth-one support will not be built configure: WARNING: missing one or more required libraries for ubertooth-one checking for sensors/sensors.h... no configure: WARNING: "libsensors lm-sensors missing" configure: creating ./config.status config.status: creating Makefile config.status: creating Makefile.inc config.status: WARNING: 'Makefile.inc.in' seems to ignore the --datarootdir setting config.status: creating packaging/kismet.pc config.status: creating packaging/systemd/kismet.service config.status: creating packaging/systemd/debug/kismet-debug.service config.status: creating capture_linux_bluetooth/Makefile config.status: creating capture_linux_wifi/Makefile config.status: creating capture_osx_corewlan_wifi/Makefile config.status: creating capture_sdr_rtl433/Makefile config.status: creating capture_sdr_rtlamr/Makefile config.status: creating capture_sdr_rtladsb/Makefile config.status: creating capture_bt_geiger/Makefile config.status: creating capture_freaklabs_zigbee/Makefile config.status: creating capture_nrf_mousejack/Makefile config.status: creating capture_ti_cc_2540/Makefile config.status: creating capture_ti_cc_2531/Makefile config.status: creating capture_ubertooth_one/Makefile config.status: creating capture_nrf_51822/Makefile config.status: creating capture_nxp_kw41z/Makefile config.status: creating capture_rz_killerbee/Makefile config.status: creating capture_bladerf_wiphy/Makefile config.status: creating capture_proxy_adsb/Makefile config.status: creating capture_nrf_52840/Makefile config.status: creating capture_hak5_wifi_coconut/Makefile config.status: creating config.h Configuration complete: Compiling for: linux-musl (loongarch64) C++ Library: stdc++ Protobuf Library: protobuf Installing as group: root Installing into: /usr Setuid group: kismet Prelude SIEM : no PCRE regex: libpcre2 Websocket datasources: no (not building remote capture with websockets) LibCapability (enhanced privilege dropping): no Linux Wi-Fi capture : yes Linux Netlink: yes (mac80211 VAP creation) - libnl-3.0 libnl-genl-3.0 Linux NetworkManager: no (will not be able to control NetworkManager, libnm missing required functions, may be very out of date) Linux HCI Bluetooth: yes OSX/Darwin capture : n/a (only OSX/Darwin) nRF MouseJack: no (libusb-1.0 not available) TI CC 2540 BTLE: no (libusb-1.0 not available) TI CC 2531 Zigbee: no (libusb-1.0 not available) Ubertooth One: no (libubertooth, libbtbb, or libusb-1.0 not available) NRF51822 BTLE: yes NRF52840 Zigbee: yes NXP KW41Z BLE/Zigbee: yes RZ KILLERBEE: no (libusb-1.0 not available) Python Modules: no (will not build Python based sources) Python interpreter: python3 RTL-SDR RTL_433: no (python modules are disabled) RTL-SDR RTLAMR: no (python modules are disabled) RTL-SDR RTLADSB: no (python modules are disabled) BTLE Geiger Sensor: no (not explicitly enabled) Freaklabs Zigbee: no (python modules are disabled) ADSB Proxy: no (python modules are disabled) bladeRF-wiphy: no (bladeRF support not enabled) Hak5 WiFi Coconut: no (Hak5 WiFi Coconut support not enabled) lm-sensors monitoring: no (will not be able to monitor system temperature, etc) Built-in Debug: no - Backtraces will not be available on crashes *** WARNING *** libnm (the NetworkManager control library) was not found (or it was disabled). Kismet uses libnm to prevent NetworkManager from reconfiguring monitor mode interfaces while Kismet is running; without this library you will need to manually disable NetworkManager or manually tell it to ignore specific interaces. protoc --cpp_out=./protobuf_cpp/ -I protobuf_definitions/ protobuf_definitions/kismet.proto protoc --cpp_out=./protobuf_cpp/ -I protobuf_definitions/ protobuf_definitions/http.proto protoc --cpp_out=./protobuf_cpp/ -I protobuf_definitions/ protobuf_definitions/datasource.proto protoc --cpp_out=./protobuf_cpp/ -I protobuf_definitions/ protobuf_definitions/linuxbluetooth.proto protoc --cpp_out=./protobuf_cpp/ -I protobuf_definitions/ protobuf_definitions/eventbus.proto protoc --cpp_out=./protobuf_cpp/ -I protobuf_definitions/ protobuf_definitions/kismet.proto protoc --cpp_out=./protobuf_cpp/ -I protobuf_definitions/ protobuf_definitions/http.proto protoc --cpp_out=./protobuf_cpp/ -I protobuf_definitions/ protobuf_definitions/datasource.proto protoc --cpp_out=./protobuf_cpp/ -I protobuf_definitions/ protobuf_definitions/linuxbluetooth.proto protoc --cpp_out=./protobuf_cpp/ -I protobuf_definitions/ protobuf_definitions/eventbus.proto protoc-c --c_out=./protobuf_c/ -I protobuf_definitions/ protobuf_definitions/kismet.proto protoc-c --c_out=./protobuf_c/ -I protobuf_definitions/ protobuf_definitions/datasource.proto protoc-c --c_out=./protobuf_c/ -I protobuf_definitions/ protobuf_definitions/linuxbluetooth.proto protoc-c --c_out=./protobuf_c/ -I protobuf_definitions/ protobuf_definitions/eventbus.proto protoc-c --c_out=./protobuf_c/ -I protobuf_definitions/ protobuf_definitions/kismet.proto protoc-c --c_out=./protobuf_c/ -I protobuf_definitions/ protobuf_definitions/datasource.proto protoc-c --c_out=./protobuf_c/ -I protobuf_definitions/ protobuf_definitions/linuxbluetooth.proto protoc-c --c_out=./protobuf_c/ -I protobuf_definitions/ protobuf_definitions/eventbus.proto gcc -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -MT version.c.o version.c -MF version.c.d gcc -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -MT protobuf_c/kismet.pb-c.c.o protobuf_c/kismet.pb-c.c -MF protobuf_c/kismet.pb-c.c.d gcc -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -MT protobuf_c/linuxbluetooth.pb-c.c.o protobuf_c/linuxbluetooth.pb-c.c -MF protobuf_c/linuxbluetooth.pb-c.c.d gcc -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -MT protobuf_c/eventbus.pb-c.c.o protobuf_c/eventbus.pb-c.c -MF protobuf_c/eventbus.pb-c.c.d gcc -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -MT simple_ringbuf_c.c.o simple_ringbuf_c.c -MF simple_ringbuf_c.c.d gcc -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -MT capture_framework.c.o capture_framework.c -MF capture_framework.c.d gcc -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -MT capture_kismetdb.c.o capture_kismetdb.c -MF capture_kismetdb.c.d gcc -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -MT capture_pcapfile.c.o capture_pcapfile.c -MF capture_pcapfile.c.d gcc -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -MT log_tools/kismetdb_strip_packet_content.c.o log_tools/kismetdb_strip_packet_content.c -MF log_tools/kismetdb_strip_packet_content.c.d gcc -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -MT protobuf_c/datasource.pb-c.c.o protobuf_c/datasource.pb-c.c -MF protobuf_c/datasource.pb-c.c.d gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c version.c -o version.c.o gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c protobuf_c/eventbus.pb-c.c -o protobuf_c/eventbus.pb-c.c.o gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c protobuf_c/kismet.pb-c.c -o protobuf_c/kismet.pb-c.c.o gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c protobuf_c/linuxbluetooth.pb-c.c -o protobuf_c/linuxbluetooth.pb-c.c.o gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c protobuf_c/datasource.pb-c.c -o protobuf_c/datasource.pb-c.c.o gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c simple_ringbuf_c.c -o simple_ringbuf_c.c.o gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c log_tools/kismetdb_strip_packet_content.c -o log_tools/kismetdb_strip_packet_content.c.o gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c capture_pcapfile.c -o capture_pcapfile.c.o gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c capture_framework.c -o capture_framework.c.o gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c capture_kismetdb.c -o capture_kismetdb.c.o g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT protobuf_cpp/kismet.pb.cc.o protobuf_cpp/kismet.pb.cc -MF protobuf_cpp/kismet.pb.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT protobuf_cpp/http.pb.cc.o protobuf_cpp/http.pb.cc -MF protobuf_cpp/http.pb.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT protobuf_cpp/linuxbluetooth.pb.cc.o protobuf_cpp/linuxbluetooth.pb.cc -MF protobuf_cpp/linuxbluetooth.pb.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT protobuf_cpp/eventbus.pb.cc.o protobuf_cpp/eventbus.pb.cc -MF protobuf_cpp/eventbus.pb.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT util.cc.o util.cc -MF util.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT crc32.cc.o crc32.cc -MF crc32.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT macaddr.cc.o macaddr.cc -MF macaddr.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT uuid.cc.o uuid.cc -MF uuid.cc.d capture_kismetdb.c: In function 'capture_thread': capture_kismetdb.c:494:12: warning: variable 'packet_frequency' set but not used [-Wunused-but-set-variable] 494 | double packet_frequency; | ^~~~~~~~~~~~~~~~ g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT xxhash.cc.o xxhash.cc -MF xxhash.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT boost_like_hash.cc.o boost_like_hash.cc -MF boost_like_hash.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT sqlite3_cpp11.cc.o sqlite3_cpp11.cc -MF sqlite3_cpp11.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT globalregistry.cc.o globalregistry.cc -MF globalregistry.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT eventbus.cc.o eventbus.cc -MF eventbus.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT packet.cc.o packet.cc -MF packet.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT configfile.cc.o configfile.cc -MF configfile.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT battery.cc.o battery.cc -MF battery.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT ipctracker_v2.cc.o ipctracker_v2.cc -MF ipctracker_v2.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT kis_external.cc.o kis_external.cc -MF kis_external.cc.d At top level: cc1: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dlttracker.cc.o dlttracker.cc -MF dlttracker.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT antennatracker.cc.o antennatracker.cc -MF antennatracker.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT datasourcetracker.cc.o datasourcetracker.cc -MF datasourcetracker.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT kis_datasource.cc.o kis_datasource.cc -MF kis_datasource.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT datasource_linux_bluetooth.cc.o datasource_linux_bluetooth.cc -MF datasource_linux_bluetooth.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT datasource_rtl433.cc.o datasource_rtl433.cc -MF datasource_rtl433.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT datasource_rtlamr.cc.o datasource_rtlamr.cc -MF datasource_rtlamr.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT datasource_rtladsb.cc.o datasource_rtladsb.cc -MF datasource_rtladsb.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT datasource_ti_cc_2540.cc.o datasource_ti_cc_2540.cc -MF datasource_ti_cc_2540.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT datasource_ti_cc_2531.cc.o datasource_ti_cc_2531.cc -MF datasource_ti_cc_2531.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT datasource_ubertooth_one.cc.o datasource_ubertooth_one.cc -MF datasource_ubertooth_one.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT datasource_nrf_51822.cc.o datasource_nrf_51822.cc -MF datasource_nrf_51822.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT datasource_nxp_kw41z.cc.o datasource_nxp_kw41z.cc -MF datasource_nxp_kw41z.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT datasource_nrf_52840.cc.o datasource_nrf_52840.cc -MF datasource_nrf_52840.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT datasource_rz_killerbee.cc.o datasource_rz_killerbee.cc -MF datasource_rz_killerbee.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT datasource_scan.cc.o datasource_scan.cc -MF datasource_scan.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT datasource_bt_geiger.cc.o datasource_bt_geiger.cc -MF datasource_bt_geiger.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT kis_net_beast_httpd.cc.o kis_net_beast_httpd.cc -MF kis_net_beast_httpd.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT kis_httpd_registry.cc.o kis_httpd_registry.cc -MF kis_httpd_registry.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT system_monitor.cc.o system_monitor.cc -MF system_monitor.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT base64.cc.o base64.cc -MF base64.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT gpstracker.cc.o gpstracker.cc -MF gpstracker.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT kis_gps.cc.o kis_gps.cc -MF kis_gps.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT gpsnmea_v2.cc.o gpsnmea_v2.cc -MF gpsnmea_v2.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT gpsserial_v3.cc.o gpsserial_v3.cc -MF gpsserial_v3.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT gpstcp_v2.cc.o gpstcp_v2.cc -MF gpstcp_v2.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT gpsgpsd_v3.cc.o gpsgpsd_v3.cc -MF gpsgpsd_v3.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT gpsfake.cc.o gpsfake.cc -MF gpsfake.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT gpsweb.cc.o gpsweb.cc -MF gpsweb.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT gpsmeta.cc.o gpsmeta.cc -MF gpsmeta.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT packetchain.cc.o packetchain.cc -MF packetchain.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT packet_filter.cc.o packet_filter.cc -MF packet_filter.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT class_filter.cc.o class_filter.cc -MF class_filter.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT trackedelement.cc.o trackedelement.cc -MF trackedelement.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT trackedelement_workers.cc.o trackedelement_workers.cc -MF trackedelement_workers.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT trackedcomponent.cc.o trackedcomponent.cc -MF trackedcomponent.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT entrytracker.cc.o entrytracker.cc -MF entrytracker.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT trackedlocation.cc.o trackedlocation.cc -MF trackedlocation.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT devicetracker_component.cc.o devicetracker_component.cc -MF devicetracker_component.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT devicetracker_view.cc.o devicetracker_view.cc -MF devicetracker_view.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT devicetracker_view_workers.cc.o devicetracker_view_workers.cc -MF devicetracker_view_workers.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT kis_server_announce.cc.o kis_server_announce.cc -MF kis_server_announce.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT json_adapter.cc.o json_adapter.cc -MF json_adapter.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT plugintracker.cc.o plugintracker.cc -MF plugintracker.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT alertracker.cc.o alertracker.cc -MF alertracker.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT timetracker.cc.o timetracker.cc -MF timetracker.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT channeltracker2.cc.o channeltracker2.cc -MF channeltracker2.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT devicetracker.cc.o devicetracker.cc -MF devicetracker.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT devicetracker_httpd.cc.o devicetracker_httpd.cc -MF devicetracker_httpd.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT kis_dlt.cc.o kis_dlt.cc -MF kis_dlt.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT kis_dlt_ppi.cc.o kis_dlt_ppi.cc -MF kis_dlt_ppi.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT kis_dlt_radiotap.cc.o kis_dlt_radiotap.cc -MF kis_dlt_radiotap.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT kis_dlt_btle_radio.cc.o kis_dlt_btle_radio.cc -MF kis_dlt_btle_radio.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT kaitaistream.cc.o kaitaistream.cc -MF kaitaistream.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie.cc.o dot11_parsers/dot11_ie.cc -MF dot11_parsers/dot11_ie.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_7_country.cc.o dot11_parsers/dot11_ie_7_country.cc -MF dot11_parsers/dot11_ie_7_country.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_11_qbss.cc.o dot11_parsers/dot11_ie_11_qbss.cc -MF dot11_parsers/dot11_ie_11_qbss.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_33_power.cc.o dot11_parsers/dot11_ie_33_power.cc -MF dot11_parsers/dot11_ie_33_power.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_36_supported_channels.cc.o dot11_parsers/dot11_ie_36_supported_channels.cc -MF dot11_parsers/dot11_ie_36_supported_channels.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_45_ht_cap.cc.o dot11_parsers/dot11_ie_45_ht_cap.cc -MF dot11_parsers/dot11_ie_45_ht_cap.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_48_rsn.cc.o dot11_parsers/dot11_ie_48_rsn.cc -MF dot11_parsers/dot11_ie_48_rsn.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_52_rmm_neighbor.cc.o dot11_parsers/dot11_ie_52_rmm_neighbor.cc -MF dot11_parsers/dot11_ie_52_rmm_neighbor.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_54_mobility.cc.o dot11_parsers/dot11_ie_54_mobility.cc -MF dot11_parsers/dot11_ie_54_mobility.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_55_fastbss.cc.o dot11_parsers/dot11_ie_55_fastbss.cc -MF dot11_parsers/dot11_ie_55_fastbss.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_61_ht_op.cc.o dot11_parsers/dot11_ie_61_ht_op.cc -MF dot11_parsers/dot11_ie_61_ht_op.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_70_rm_capabilities.cc.o dot11_parsers/dot11_ie_70_rm_capabilities.cc -MF dot11_parsers/dot11_ie_70_rm_capabilities.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_113_mesh_config.cc.o dot11_parsers/dot11_ie_113_mesh_config.cc -MF dot11_parsers/dot11_ie_113_mesh_config.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_133_cisco_ccx.cc.o dot11_parsers/dot11_ie_133_cisco_ccx.cc -MF dot11_parsers/dot11_ie_133_cisco_ccx.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_150_vendor.cc.o dot11_parsers/dot11_ie_150_vendor.cc -MF dot11_parsers/dot11_ie_150_vendor.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_150_cisco_powerlevel.cc.o dot11_parsers/dot11_ie_150_cisco_powerlevel.cc -MF dot11_parsers/dot11_ie_150_cisco_powerlevel.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_191_vht_cap.cc.o dot11_parsers/dot11_ie_191_vht_cap.cc -MF dot11_parsers/dot11_ie_191_vht_cap.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_192_vht_op.cc.o dot11_parsers/dot11_ie_192_vht_op.cc -MF dot11_parsers/dot11_ie_192_vht_op.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_127_extended_capabilities.cc.o dot11_parsers/dot11_ie_127_extended_capabilities.cc -MF dot11_parsers/dot11_ie_127_extended_capabilities.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_221_vendor.cc.o dot11_parsers/dot11_ie_221_vendor.cc -MF dot11_parsers/dot11_ie_221_vendor.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_221_ms_wps.cc.o dot11_parsers/dot11_ie_221_ms_wps.cc -MF dot11_parsers/dot11_ie_221_ms_wps.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_221_ms_wmm.cc.o dot11_parsers/dot11_ie_221_ms_wmm.cc -MF dot11_parsers/dot11_ie_221_ms_wmm.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_221_dji_droneid.cc.o dot11_parsers/dot11_ie_221_dji_droneid.cc -MF dot11_parsers/dot11_ie_221_dji_droneid.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_221_wfa_wpa.cc.o dot11_parsers/dot11_ie_221_wfa_wpa.cc -MF dot11_parsers/dot11_ie_221_wfa_wpa.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_221_cisco_client_mfp.cc.o dot11_parsers/dot11_ie_221_cisco_client_mfp.cc -MF dot11_parsers/dot11_ie_221_cisco_client_mfp.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_221_wpa_transition.cc.o dot11_parsers/dot11_ie_221_wpa_transition.cc -MF dot11_parsers/dot11_ie_221_wpa_transition.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_221_rsn_pmkid.cc.o dot11_parsers/dot11_ie_221_rsn_pmkid.cc -MF dot11_parsers/dot11_ie_221_rsn_pmkid.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_221_wfa.cc.o dot11_parsers/dot11_ie_221_wfa.cc -MF dot11_parsers/dot11_ie_221_wfa.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_ie_255_ext_tag.cc.o dot11_parsers/dot11_ie_255_ext_tag.cc -MF dot11_parsers/dot11_ie_255_ext_tag.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_action.cc.o dot11_parsers/dot11_action.cc -MF dot11_parsers/dot11_action.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_wpa_eap.cc.o dot11_parsers/dot11_wpa_eap.cc -MF dot11_parsers/dot11_wpa_eap.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT dot11_parsers/dot11_p2p_ie.cc.o dot11_parsers/dot11_p2p_ie.cc -MF dot11_parsers/dot11_p2p_ie.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT bluetooth_parsers/btle.cc.o bluetooth_parsers/btle.cc -MF bluetooth_parsers/btle.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT phy_80211.cc.o phy_80211.cc -MF phy_80211.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT phy_80211_components.cc.o phy_80211_components.cc -MF phy_80211_components.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT phy_80211_dissectors.cc.o phy_80211_dissectors.cc -MF phy_80211_dissectors.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT phy_sensor.cc.o phy_sensor.cc -MF phy_sensor.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT phy_meter.cc.o phy_meter.cc -MF phy_meter.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT phy_adsb.cc.o phy_adsb.cc -MF phy_adsb.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT phy_zwave.cc.o phy_zwave.cc -MF phy_zwave.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT phy_bluetooth.cc.o phy_bluetooth.cc -MF phy_bluetooth.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT phy_uav_drone.cc.o phy_uav_drone.cc -MF phy_uav_drone.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT phy_nrf_mousejack.cc.o phy_nrf_mousejack.cc -MF phy_nrf_mousejack.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT phy_btle.cc.o phy_btle.cc -MF phy_btle.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT phy_802154.cc.o phy_802154.cc -MF phy_802154.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT phy_80211_ssidtracker.cc.o phy_80211_ssidtracker.cc -MF phy_80211_ssidtracker.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT phy_radiation.cc.o phy_radiation.cc -MF phy_radiation.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT kis_dissector_ipdata.cc.o kis_dissector_ipdata.cc -MF kis_dissector_ipdata.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT manuf.cc.o manuf.cc -MF manuf.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT bluetooth_ids.cc.o bluetooth_ids.cc -MF bluetooth_ids.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT adsb_icao.cc.o adsb_icao.cc -MF adsb_icao.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT logtracker.cc.o logtracker.cc -MF logtracker.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT kis_ppilogfile.cc.o kis_ppilogfile.cc -MF kis_ppilogfile.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT kis_databaselogfile.cc.o kis_databaselogfile.cc -MF kis_databaselogfile.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT kis_pcapnglogfile.cc.o kis_pcapnglogfile.cc -MF kis_pcapnglogfile.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT kis_wiglecsvlogfile.cc.o kis_wiglecsvlogfile.cc -MF kis_wiglecsvlogfile.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT messagebus_restclient.cc.o messagebus_restclient.cc -MF messagebus_restclient.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT streamtracker.cc.o streamtracker.cc -MF streamtracker.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT pcapng_stream_futurebuf.cc.o pcapng_stream_futurebuf.cc -MF pcapng_stream_futurebuf.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT kis_database.cc.o kis_database.cc -MF kis_database.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT kismet_server.cc.o kismet_server.cc -MF kismet_server.cc.d ar rcs libkismetdatasource.a protobuf_c/kismet.pb-c.c.o protobuf_c/datasource.pb-c.c.o protobuf_c/linuxbluetooth.pb-c.c.o protobuf_c/eventbus.pb-c.c.o simple_ringbuf_c.c.o capture_framework.c.o gcc -Wl,--as-needed,-O1,--sort-common -Wl,--as-needed,-O1,--sort-common -rdynamic -o log_tools/kismetdb_strip_packets log_tools/kismetdb_strip_packet_content.c.o -lsqlite3 -rdynamic g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT log_tools/kismetdb_to_wiglecsv.cc.o log_tools/kismetdb_to_wiglecsv.cc -MF log_tools/kismetdb_to_wiglecsv.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT log_tools/kismetdb_dump_devices.cc.o log_tools/kismetdb_dump_devices.cc -MF log_tools/kismetdb_dump_devices.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT log_tools/kismetdb_statistics.cc.o log_tools/kismetdb_statistics.cc -MF log_tools/kismetdb_statistics.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT log_tools/kismetdb_to_kml.cc.o log_tools/kismetdb_to_kml.cc -MF log_tools/kismetdb_to_kml.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT log_tools/kismetdb_to_gpx.cc.o log_tools/kismetdb_to_gpx.cc -MF log_tools/kismetdb_to_gpx.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT log_tools/kismetdb_clean.cc.o log_tools/kismetdb_clean.cc -MF log_tools/kismetdb_clean.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT log_tools/kismetdb_to_pcap.cc.o log_tools/kismetdb_to_pcap.cc -MF log_tools/kismetdb_to_pcap.cc.d g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT tools/kismet_discovery.cc.o tools/kismet_discovery.cc -MF tools/kismet_discovery.cc.d g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c protobuf_cpp/kismet.pb.cc -o protobuf_cpp/kismet.pb.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c protobuf_cpp/http.pb.cc -o protobuf_cpp/http.pb.cc.o g++ -std=gnu++17 -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -MT protobuf_cpp/datasource.pb.cc.o protobuf_cpp/datasource.pb.cc -MF protobuf_cpp/datasource.pb.cc.d g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c protobuf_cpp/linuxbluetooth.pb.cc -o protobuf_cpp/linuxbluetooth.pb.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c protobuf_cpp/eventbus.pb.cc -o protobuf_cpp/eventbus.pb.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c util.cc -o util.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c crc32.cc -o crc32.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c macaddr.cc -o macaddr.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c uuid.cc -o uuid.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c xxhash.cc -o xxhash.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c boost_like_hash.cc -o boost_like_hash.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c sqlite3_cpp11.cc -o sqlite3_cpp11.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c globalregistry.cc -o globalregistry.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c eventbus.cc -o eventbus.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c packet.cc -o packet.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c configfile.cc -o configfile.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c battery.cc -o battery.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c ipctracker_v2.cc -o ipctracker_v2.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c kis_external.cc -o kis_external.cc.o In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from macaddr.h:47, from macaddr.cc:19: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dlttracker.cc -o dlttracker.cc.o In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from battery.cc:69: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ battery.cc:226:24: required from here 226 | fpath = fmt::format("{}/status", bdir); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from util.h:62, from uuid.h:38, from uuid.cc:19: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c antennatracker.cc -o antennatracker.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c datasourcetracker.cc -o datasourcetracker.cc.o In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from globalregistry.cc:22: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c kis_datasource.cc -o kis_datasource.cc.o In file included from messagebus.h:32, from configfile.cc:35: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from messagebus.h:29: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from util.cc:71: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from util.h:62, from configfile.cc:32: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c datasource_linux_bluetooth.cc -o datasource_linux_bluetooth.cc.o fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from ipctracker_v2.cc:21: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from messagebus.h:29: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from eventbus.cc:20: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from ipctracker_v2.h:31, from ipctracker_v2.cc:19: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c datasource_rtl433.cc -o datasource_rtl433.cc.o fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from packet.cc:35: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ configfile.cc:535:9: required from here 96 | Globalreg::globalreg->messagebus->inject_message(fmt::format(__VA_ARGS__), MSGFLAG_ERROR) | ~~~~~~~~~~~^~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from json_adapter.h:26, from kis_external.cc:25: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from gpstracker.h:27, from kis_datasource.h:29, from dlttracker.h:32, from dlttracker.cc:23: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from packet.h:36: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from globalregistry.cc:25: trackedelement.h: In instantiation of 'class numerical_string': trackedelement.h:972:11: required from 'std::string tracker_element_core_numeric::as_string() const [with N = unsigned char; tracker_type T = tracker_type::tracker_placeholder_missing; S = numerical_string; std::string = std::__cxx11::basic_string]' 972 | S s; | ^ trackedelement.h:971:25: required from here 971 | virtual std::string as_string() const override { | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from eventbus.cc:19: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from packet.h:36: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from util.h:62, from util.cc:21: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from antennatracker.h:23, from antennatracker.cc:20: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from packet.cc:33: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from eventbus.h:53: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from gpstracker.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from json_adapter.h:25: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedelement.h:972:11: required from 'std::string tracker_element_core_numeric::as_string() const [with N = unsigned char; tracker_type T = tracker_type::tracker_placeholder_missing; S = numerical_string; std::string = std::__cxx11::basic_string]' 972 | S s; | ^ trackedelement.h:971:25: required from here 971 | virtual std::string as_string() const override { | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedelement.h:972:11: required from 'std::string tracker_element_core_numeric::as_string() const [with N = unsigned char; tracker_type T = tracker_type::tracker_placeholder_missing; S = numerical_string; std::string = std::__cxx11::basic_string]' 972 | S s; | ^ trackedelement.h:971:25: required from here 971 | virtual std::string as_string() const override { | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from kis_gps.h:25, from alertracker.h:34, from datasourcetracker.cc:24: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from gpstracker.h:27, from kis_datasource.h:29, from kis_datasource.cc:21: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from entrytracker.h:36, from kis_net_beast_httpd.h:40: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from configfile.h:35, from kis_external.cc:23: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from dlttracker.h:30: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from gpstracker.h:27, from kis_datasource.h:29, from datasource_linux_bluetooth.h:26, from datasource_linux_bluetooth.cc:21: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from gpstracker.h:27, from kis_datasource.h:29, from datasource_rtl433.cc:20: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c datasource_rtlamr.cc -o datasource_rtlamr.cc.o In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from alertracker.h:32: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, const std::__cxx11::basic_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_external.cc:434:37: required from here 434 | std::string fp = fmt::format("{}/{}", | ~~~~~~~~~~~^~~~~~~~~ 435 | Globalreg::globalreg->kismet_config->expand_log_path(rp, "", "", 0, 1), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 436 | in_binary); | ~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const boost::basic_string_view >&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = const boost::basic_string_view >&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {const boost::basic_string_view >&}; Context = fmt::v9::basic_format_context; Args = {boost::basic_string_view >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {const boost::basic_string_view >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_external.cc:919:40: required from here 919 | fmt::format("proxied req {}", con->uri())); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >&>((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = boost::beast::http::verb&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = boost::beast::http::verb&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {boost::beast::http::verb&}; Context = fmt::v9::basic_format_context; Args = {boost::beast::http::verb}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {boost::beast::http::verb&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_external.cc:935:40: required from here 935 | fmt::format("{}", con->verb()), var_remap); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & * & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from entrytracker.h:32: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedelement.h:972:11: required from 'std::string tracker_element_core_numeric::as_string() const [with N = unsigned char; tracker_type T = tracker_type::tracker_placeholder_missing; S = numerical_string; std::string = std::__cxx11::basic_string]' 972 | S s; | ^ trackedelement.h:971:25: required from here 971 | virtual std::string as_string() const override { | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c datasource_rtladsb.cc -o datasource_rtladsb.cc.o In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from gpstracker.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedelement.h:972:11: required from 'std::string tracker_element_core_numeric::as_string() const [with N = unsigned char; tracker_type T = tracker_type::tracker_placeholder_missing; S = numerical_string; std::string = std::__cxx11::basic_string]' 972 | S s; | ^ trackedelement.h:971:25: required from here 971 | virtual std::string as_string() const override { | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedelement.h:972:11: required from 'std::string tracker_element_core_numeric::as_string() const [with N = unsigned char; tracker_type T = tracker_type::tracker_placeholder_missing; S = numerical_string; std::string = std::__cxx11::basic_string]' 972 | S s; | ^ trackedelement.h:971:25: required from here 971 | virtual std::string as_string() const override { | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ kis_external.cc:401:18: required from here 401 | lk.unlock(); | ~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from gpstracker.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from gpstracker.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from datasourcetracker.cc:27: datasourcetracker.h:77:7: warning: 'class datasource_tracker_worker' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 77 | class datasource_tracker_worker { | ^~~~~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c datasource_ti_cc_2540.cc -o datasource_ti_cc_2540.cc.o In file included from kis_datasource.cc:24: datasourcetracker.h:77:7: warning: 'class datasource_tracker_worker' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 77 | class datasource_tracker_worker { | ^~~~~~~~~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics datasourcetracker.cc:1796:7: warning: base class 'class datasource_tracker_worker' has accessible non-virtual destructor [-Wnon-virtual-dtor] 1796 | class dst_chansplit_worker : public datasource_tracker_worker { | ^~~~~~~~~~~~~~~~~~~~ datasourcetracker.cc:1796:7: warning: 'class dst_chansplit_worker' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from eventbus.h:53: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_datasource.h:26: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_datasource.h:26: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedelement.h:972:11: required from 'std::string tracker_element_core_numeric::as_string() const [with N = unsigned char; tracker_type T = tracker_type::tracker_placeholder_missing; S = numerical_string; std::string = std::__cxx11::basic_string]' 972 | S s; | ^ trackedelement.h:971:25: required from here 971 | virtual std::string as_string() const override { | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = mac_addr&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = mac_addr&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, unsigned char&, unsigned int&, double&, mac_addr&, mac_addr&, mac_addr&, mac_addr&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ alertracker.h:232:46: required from here 232 | set_hash(adler32_checksum(fmt::format("{} {} {} {} {} {} {} {} {}", | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | get_header(), get_severity(), get_phy(), get_timestamp(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 234 | get_transmitter_mac(), get_source_mac(), get_dest_mac(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | get_other_mac(), get_channel()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((unsigned char&)args#1), ((unsigned int&)args#2), ((double&)args#3), ((mac_addr&)args#4), ((mac_addr&)args#5), ((mac_addr&)args#6), ((mac_addr&)args#7), ((std::__cxx11::basic_string&)args#8))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': phy_bluetooth.h:114:5: required from here 81 | return (rtype) get_tracker_value(cvar); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_datasource.h:26: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ datasourcetracker.h:504:9: required from here 504 | _MSG(fmt::format("(Remote) - {}", msg), msgtype); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c datasource_ti_cc_2531.cc -o datasource_ti_cc_2531.cc.o fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ datasourcetracker.h:504:9: required from here 504 | _MSG(fmt::format("(Remote) - {}", msg), msgtype); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = mac_addr&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = mac_addr&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, unsigned char&, unsigned int&, double&, mac_addr&, mac_addr&, mac_addr&, mac_addr&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ alertracker.h:232:46: required from here 232 | set_hash(adler32_checksum(fmt::format("{} {} {} {} {} {} {} {} {}", | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | get_header(), get_severity(), get_phy(), get_timestamp(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 234 | get_transmitter_mac(), get_source_mac(), get_dest_mac(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | get_other_mac(), get_channel()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((unsigned char&)args#1), ((unsigned int&)args#2), ((double&)args#3), ((mac_addr&)args#4), ((mac_addr&)args#5), ((mac_addr&)args#6), ((mac_addr&)args#7), ((std::__cxx11::basic_string&)args#8))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = uuid&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = uuid&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, uuid&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, uuid, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, uuid, std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, uuid, std::__cxx11::basic_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ datasourcetracker.cc:714:25: required from here 93 | Globalreg::globalreg->messagebus->inject_message(fmt::format(__VA_ARGS__), MSGFLAG_INFO) | ~~~~~~~~~~~^~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((uuid&)args#1), args#2)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const uuid&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = const uuid&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, const uuid&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, uuid, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, const uuid&, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, const uuid&, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ datasourcetracker.cc:1555:13: required from here 96 | Globalreg::globalreg->messagebus->inject_message(fmt::format(__VA_ARGS__), MSGFLAG_ERROR) | ~~~~~~~~~~~^~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), args#1, ((std::__cxx11::basic_string&)args#2))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from gpstracker.h:27, from kis_datasource.h:29, from datasource_rtlamr.cc:20: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = uuid&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = uuid&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, uuid&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, uuid, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, uuid, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, uuid, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_datasource.cc:1980:36: required from here 1980 | auto alrt = fmt::format("Source {} ({}) has encountered an error ({}). " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1981 | "Remote sources are not locally reconnected; waiting for the remote source " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1982 | "to reconnect to resume capture.", get_source_name(), get_source_uuid(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1983 | get_source_error_reason()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((uuid&)args#1), ((std::__cxx11::basic_string&)args#2))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ datasourcetracker.cc:50:14: required from here 50 | lk.unlock(); | ~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from gpstracker.h:27, from kis_datasource.h:29, from datasource_rtladsb.cc:20: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:240:49: required from 'void kis_unique_lock::lock(const std::string&) [with M = kis_mutex; std::string = std::__cxx11::basic_string]' 240 | throw std::runtime_error(fmt::format("invalid use: thread {} attempted to lock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 241 | "unique lock {} when already locked for {}", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 242 | std::this_thread::get_id(), mutex.get_name(), op)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kis_datasource.cc:117:14: required from here 117 | lock.lock(); | ~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1, args#2)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from gpstracker.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from gpstracker.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from gpstracker.h:27, from kis_datasource.h:29, from datasource_ti_cc_2540.h:26, from datasource_ti_cc_2540.cc:21: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_datasource.h:26: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from gpstracker.h:27, from kis_datasource.h:29, from datasource_ti_cc_2531.h:26, from datasource_ti_cc_2531.cc:19: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c datasource_ubertooth_one.cc -o datasource_ubertooth_one.cc.o In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from phy_adsb.h:27, from datasource_rtladsb.cc:22: datasourcetracker.h:77:7: warning: 'class datasource_tracker_worker' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 77 | class datasource_tracker_worker { | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from gpstracker.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_datasource.h:26: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ datasourcetracker.h:504:9: required from here 504 | _MSG(fmt::format("(Remote) - {}", msg), msgtype); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from gpstracker.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_datasource.h:26: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_datasource.h:26: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from gpstracker.h:27, from kis_datasource.h:29, from datasource_ubertooth_one.h:26, from datasource_ubertooth_one.cc:21: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c datasource_nrf_51822.cc -o datasource_nrf_51822.cc.o fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c datasource_nxp_kw41z.cc -o datasource_nxp_kw41z.cc.o cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from gpstracker.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c datasource_nrf_52840.cc -o datasource_nrf_52840.cc.o trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_datasource.h:26: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from gpstracker.h:27, from kis_datasource.h:29, from datasource_nrf_51822.h:26, from datasource_nrf_51822.cc:19: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from gpstracker.h:27, from kis_datasource.h:29, from datasource_nxp_kw41z.h:26, from datasource_nxp_kw41z.cc:21: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from gpstracker.h:27, from kis_datasource.h:29, from datasource_nrf_52840.h:26, from datasource_nrf_52840.cc:19: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c datasource_rz_killerbee.cc -o datasource_rz_killerbee.cc.o In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from gpstracker.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from gpstracker.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c datasource_scan.cc -o datasource_scan.cc.o trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from gpstracker.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_datasource.h:26: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_datasource.h:26: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_datasource.h:26: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from gpstracker.h:27, from kis_datasource.h:29, from datasource_rz_killerbee.h:26, from datasource_rz_killerbee.cc:19: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from gpstracker.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from gpstracker.h:27, from kis_datasource.h:29, from datasourcetracker.h:32, from datasource_scan.cc:19: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c datasource_bt_geiger.cc -o datasource_bt_geiger.cc.o In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from gpstracker.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_datasource.h:26: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics datasourcetracker.h:77:7: warning: 'class datasource_tracker_worker' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 77 | class datasource_tracker_worker { | ^~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from datasourcetracker.h:30: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ datasourcetracker.h:504:9: required from here 504 | _MSG(fmt::format("(Remote) - {}", msg), msgtype); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c kis_net_beast_httpd.cc -o kis_net_beast_httpd.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c kis_httpd_registry.cc -o kis_httpd_registry.cc.o In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from gpstracker.h:27, from kis_datasource.h:29, from datasource_bt_geiger.h:23, from datasource_bt_geiger.cc:20: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from gpstracker.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c system_monitor.cc -o system_monitor.cc.o cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from kis_net_beast_httpd.cc:19: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_datasource.h:26: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c base64.cc -o base64.cc.o In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from kis_httpd_registry.cc:21: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from messagebus.h:29: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from kis_httpd_registry.h:28, from kis_httpd_registry.cc:23: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c gpstracker.cc -o gpstracker.cc.o In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from entrytracker.h:36, from kis_net_beast_httpd.h:40: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c kis_gps.cc -o kis_gps.cc.o trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from eventbus.h:53: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c gpsnmea_v2.cc -o gpsnmea_v2.cc.o trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from json_adapter.h:26, from system_monitor.cc:37: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from entrytracker.h:32: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = mac_addr&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = mac_addr&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, unsigned char&, unsigned int&, double&, mac_addr&, mac_addr&, mac_addr&, mac_addr&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ alertracker.h:232:46: required from here 232 | set_hash(adler32_checksum(fmt::format("{} {} {} {} {} {} {} {} {}", | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | get_header(), get_severity(), get_phy(), get_timestamp(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 234 | get_transmitter_mac(), get_source_mac(), get_dest_mac(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | get_other_mac(), get_channel()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((unsigned char&)args#1), ((unsigned int&)args#2), ((double&)args#3), ((mac_addr&)args#4), ((mac_addr&)args#5), ((mac_addr&)args#6), ((mac_addr&)args#7), ((std::__cxx11::basic_string&)args#8))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = boost::asio::ip::address&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = boost::asio::ip::address&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {boost::asio::ip::address&, short unsigned int&}; Context = fmt::v9::basic_format_context; Args = {boost::asio::ip::address, short unsigned int}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {boost::asio::ip::address, short unsigned int}; std::string = std::__cxx11::basic_string; format_string = basic_format_string]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_net_beast_httpd.cc:64:9: required from here 93 | Globalreg::globalreg->messagebus->inject_message(fmt::format(__VA_ARGS__), MSGFLAG_INFO) | ~~~~~~~~~~~^~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((boost::asio::ip::address&)args#0), ((short unsigned int&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_net_beast_httpd.cc:125:13: required from here 96 | Globalreg::globalreg->messagebus->inject_message(fmt::format(__VA_ARGS__), MSGFLAG_ERROR) | ~~~~~~~~~~~^~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::vector, std::allocator > >&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::vector, std::allocator > >&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::vector, std::allocator >, bool, long int, long unsigned int, double, std::allocator, nlohmann::json_abi_v3_11_2::adl_serializer, std::vector > >, std::allocator, std::allocator >, bool, long int, long unsigned int, double, std::allocator, nlohmann::json_abi_v3_11_2::adl_serializer, std::vector > > > >&}; Context = fmt::v9::basic_format_context; Args = {std::vector, std::allocator >, bool, long int, long unsigned int, double, std::allocator, nlohmann::json_abi_v3_11_2::adl_serializer, std::vector > >, std::allocator, std::allocator >, bool, long int, long unsigned int, double, std::allocator, nlohmann::json_abi_v3_11_2::adl_serializer, std::vector > > > >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'void fmt::v9::print(FILE*, format_string, T&& ...) [with T = {std::vector, std::allocator >, bool, long int, long unsigned int, double, std::allocator, nlohmann::json_abi_v3_11_2::adl_serializer, std::vector > >, std::allocator, std::allocator >, bool, long int, long unsigned int, double, std::allocator, nlohmann::json_abi_v3_11_2::adl_serializer, std::vector > > > >&}; FILE = FILE; format_string = basic_format_string, std::allocator >, bool, long int, long unsigned int, double, std::allocator, nlohmann::json_abi_v3_11_2::adl_serializer, std::vector > >, std::allocator, std::allocator >, bool, long int, long unsigned int, double, std::allocator, nlohmann::json_abi_v3_11_2::adl_serializer, std::vector > > > >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_net_beast_httpd.cc:943:15: required from here 943 | fmt::print(sf, "{}", vec); | ~~~~~~~~~~^~~~~~~~~~~~~~~ fmt/core.h:3311:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>((* & args#0))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map, std::allocator > >&>((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from entrytracker.h:36, from system_monitor.cc:33: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from gpstracker.cc:24: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from messagebus.h:29: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:240:49: required from 'void kis_unique_lock::lock(const std::string&) [with M = kis_mutex; std::string = std::__cxx11::basic_string]' 240 | throw std::runtime_error(fmt::format("invalid use: thread {} attempted to lock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 241 | "unique lock {} when already locked for {}", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 242 | std::this_thread::get_id(), mutex.get_name(), op)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kis_net_beast_httpd.cc:1847:16: required from here 1847 | lk.lock(); | ~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1, args#2)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from gpstracker.h:27, from gpstracker.cc:25: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedelement.h:972:11: required from 'std::string tracker_element_core_numeric::as_string() const [with N = unsigned char; tracker_type T = tracker_type::tracker_placeholder_missing; S = numerical_string; std::string = std::__cxx11::basic_string]' 972 | S s; | ^ trackedelement.h:971:25: required from here 971 | virtual std::string as_string() const override { | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from kis_gps.h:25, from kis_gps.cc:20: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from kis_gps.h:25, from gpsnmea_v2.h:24, from gpsnmea_v2.cc:25: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c gpsserial_v3.cc -o gpsserial_v3.cc.o In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from system_monitor.cc:39: system_monitor.h:135:7: warning: base class 'class time_tracker_event' has accessible non-virtual destructor [-Wnon-virtual-dtor] 135 | class Systemmonitor : public lifetime_global, public time_tracker_event { | ^~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from entrytracker.h:32: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from entrytracker.h:36, from kis_gps.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from entrytracker.h:36, from kis_gps.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = mac_addr&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = mac_addr&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, unsigned char&, unsigned int&, double&, mac_addr&, mac_addr&, mac_addr&, mac_addr&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ alertracker.h:232:46: required from here 232 | set_hash(adler32_checksum(fmt::format("{} {} {} {} {} {} {} {} {}", | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | get_header(), get_severity(), get_phy(), get_timestamp(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 234 | get_transmitter_mac(), get_source_mac(), get_dest_mac(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | get_other_mac(), get_channel()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((unsigned char&)args#1), ((unsigned int&)args#2), ((double&)args#3), ((mac_addr&)args#4), ((mac_addr&)args#5), ((mac_addr&)args#6), ((mac_addr&)args#7), ((std::__cxx11::basic_string&)args#8))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c gpstcp_v2.cc -o gpstcp_v2.cc.o trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from entrytracker.h:32: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ configfile.h:107:49: required from 'T config_file::fetch_opt_as(const std::string&, const T&) [with T = unsigned int; std::string = std::__cxx11::basic_string]' 107 | throw std::runtime_error(fmt::format("could not coerce content of key {}", in_key)); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ system_monitor.cc:139:76: required from here 139 | Globalreg::globalreg->kismet_config->fetch_opt_as("kis_log_system_status_rate", 30); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from entrytracker.h:32: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from gpstracker.cc:23: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = mac_addr&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = mac_addr&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, unsigned char&, unsigned int&, double&, mac_addr&, mac_addr&, mac_addr&, mac_addr&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ alertracker.h:232:46: required from here 232 | set_hash(adler32_checksum(fmt::format("{} {} {} {} {} {} {} {} {}", | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | get_header(), get_severity(), get_phy(), get_timestamp(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 234 | get_transmitter_mac(), get_source_mac(), get_dest_mac(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | get_other_mac(), get_channel()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((unsigned char&)args#1), ((unsigned int&)args#2), ((double&)args#3), ((mac_addr&)args#4), ((mac_addr&)args#5), ((mac_addr&)args#6), ((mac_addr&)args#7), ((std::__cxx11::basic_string&)args#8))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = uuid&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = uuid&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, uuid&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, uuid}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, uuid&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, uuid&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ gpstracker.cc:231:21: required from here 93 | Globalreg::globalreg->messagebus->inject_message(fmt::format(__VA_ARGS__), MSGFLAG_INFO) | ~~~~~~~~~~~^~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&, unsigned int&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, unsigned int}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&, unsigned int&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&, unsigned int&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ gpstracker.cc:396:36: required from here 396 | auto proposed = fmt::format("{}{}", in_name, num); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:240:49: required from 'void kis_unique_lock::lock(const std::string&) [with M = kis_mutex; std::string = std::__cxx11::basic_string]' 240 | throw std::runtime_error(fmt::format("invalid use: thread {} attempted to lock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 241 | "unique lock {} when already locked for {}", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 242 | std::this_thread::get_id(), mutex.get_name(), op)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gpsnmea_v2.cc:361:12: required from here 361 | lk.lock(); | ~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1, args#2)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:240:49: required from 'void kis_unique_lock::lock(const std::string&) [with M = kis_mutex; std::string = std::__cxx11::basic_string]' 240 | throw std::runtime_error(fmt::format("invalid use: thread {} attempted to lock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 241 | "unique lock {} when already locked for {}", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 242 | std::this_thread::get_id(), mutex.get_name(), op)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gpsnmea_v2.cc:361:12: required from here 361 | lk.lock(); | ~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1, args#2)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from kis_gps.h:25, from gpsnmea_v2.h:24, from gpsserial_v3.h:25, from gpsserial_v3.cc:23: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from entrytracker.h:36, from kis_gps.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from kis_gps.h:25, from gpsnmea_v2.h:24, from gpstcp_v2.h:25, from gpstcp_v2.cc:23: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c gpsgpsd_v3.cc -o gpsgpsd_v3.cc.o trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c gpsfake.cc -o gpsfake.cc.o In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from gpsserial_v3.h:24: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from entrytracker.h:36, from kis_gps.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c gpsweb.cc -o gpsweb.cc.o In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from gpstcp_v2.h:24: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ gpsserial_v3.cc:203:14: required from here 203 | lk.unlock(); | ~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ gpsserial_v3.cc:203:14: required from here 203 | lk.unlock(); | ~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = boost::asio::ip::basic_endpoint&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = boost::asio::ip::basic_endpoint&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {boost::asio::ip::basic_endpoint&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {boost::asio::ip::basic_endpoint, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {boost::asio::ip::basic_endpoint, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ gpstcp_v2.cc:143:13: required from here 96 | Globalreg::globalreg->messagebus->inject_message(fmt::format(__VA_ARGS__), MSGFLAG_ERROR) | ~~~~~~~~~~~^~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((boost::asio::ip::basic_endpoint&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map&>((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from kis_gps.h:25, from gpsgpsd_v3.h:25, from gpsgpsd_v3.cc:24: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from kis_gps.h:25, from gpsfake.h:24, from gpsfake.cc:20: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from entrytracker.h:36, from kis_gps.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from entrytracker.h:36, from kis_gps.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from kis_gps.h:25, from gpsweb.h:24, from gpsweb.cc:20: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c gpsmeta.cc -o gpsmeta.cc.o trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from gpsgpsd_v3.h:24: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from entrytracker.h:32: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from entrytracker.h:36, from kis_gps.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = boost::asio::ip::basic_endpoint&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = boost::asio::ip::basic_endpoint&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {boost::asio::ip::basic_endpoint&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {boost::asio::ip::basic_endpoint, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {boost::asio::ip::basic_endpoint, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ gpsgpsd_v3.cc:170:13: required from here 96 | Globalreg::globalreg->messagebus->inject_message(fmt::format(__VA_ARGS__), MSGFLAG_ERROR) | ~~~~~~~~~~~^~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((boost::asio::ip::basic_endpoint&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map&>((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:240:49: required from 'void kis_unique_lock::lock(const std::string&) [with M = kis_mutex; std::string = std::__cxx11::basic_string]' 240 | throw std::runtime_error(fmt::format("invalid use: thread {} attempted to lock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 241 | "unique lock {} when already locked for {}", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 242 | std::this_thread::get_id(), mutex.get_name(), op)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gpsgpsd_v3.cc:645:12: required from here 645 | lk.lock(); | ~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1, args#2)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:240:49: required from 'void kis_unique_lock::lock(const std::string&) [with M = kis_mutex; std::string = std::__cxx11::basic_string]' 240 | throw std::runtime_error(fmt::format("invalid use: thread {} attempted to lock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 241 | "unique lock {} when already locked for {}", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 242 | std::this_thread::get_id(), mutex.get_name(), op)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gpsgpsd_v3.cc:645:12: required from here 645 | lk.lock(); | ~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1, args#2)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from entrytracker.h:32: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c packetchain.cc -o packetchain.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c packet_filter.cc -o packet_filter.cc.o fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from kis_gps.h:25, from gpsmeta.h:24, from gpsmeta.cc:20: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from entrytracker.h:36, from kis_gps.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c class_filter.cc -o class_filter.cc.o In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from entrytracker.h:32: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from kis_gps.h:25, from alertracker.h:34, from packetchain.cc:30: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet_filter.h:21, from packet_filter.cc:22: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from alertracker.h:32: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from packetchain.h:39: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': packet_filter.h:43:5: required from here 81 | return (rtype) get_tracker_value(cvar); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from eventbus.h:53: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from packet_filter.cc:21: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from class_filter.h:21, from class_filter.cc:22: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c trackedelement.cc -o trackedelement.cc.o In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = mac_addr&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = mac_addr&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, unsigned char&, unsigned int&, double&, mac_addr&, mac_addr&, mac_addr&, mac_addr&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ alertracker.h:232:46: required from here 232 | set_hash(adler32_checksum(fmt::format("{} {} {} {} {} {} {} {} {}", | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | get_header(), get_severity(), get_phy(), get_timestamp(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 234 | get_transmitter_mac(), get_source_mac(), get_dest_mac(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | get_other_mac(), get_channel()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((unsigned char&)args#1), ((unsigned int&)args#2), ((double&)args#3), ((mac_addr&)args#4), ((mac_addr&)args#5), ((mac_addr&)args#6), ((mac_addr&)args#7), ((std::__cxx11::basic_string&)args#8))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ packet_filter.cc:41:27: required from here 41 | base_uri = fmt::format("/filters/packet/{}", in_id); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c trackedelement_workers.cc -o trackedelement_workers.cc.o In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from packetchain.h:39: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ configfile.h:107:49: required from 'T config_file::fetch_opt_as(const std::string&, const T&) [with T = unsigned int; std::string = std::__cxx11::basic_string]' 107 | throw std::runtime_error(fmt::format("could not coerce content of key {}", in_key)); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ packetchain.cc:303:87: required from here 303 | n_packet_threads = Globalreg::globalreg->kismet_config->fetch_opt_as("kismet_packet_threads", 0); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_shared_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ packetchain.cc:431:18: required from here 431 | lk.unlock(); | ~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': class_filter.h:44:5: required from here 81 | return (rtype) get_tracker_value(cvar); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from messagebus.h:32, from trackedelement.cc:34: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedelement.cc:26: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from class_filter.cc:21: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from util.h:62, from trackedelement.cc:24: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ class_filter.cc:41:27: required from here 41 | base_uri = fmt::format("/filters/class/{}", in_id); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from kis_mutex.h:36, from trackedelement_workers.h:26, from trackedelement_workers.cc:19: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c trackedcomponent.cc -o trackedcomponent.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c entrytracker.cc -o entrytracker.cc.o In file included from trackedelement_workers.h:27: trackedelement.h: In instantiation of 'class numerical_string': trackedelement.h:972:11: required from 'std::string tracker_element_core_numeric::as_string() const [with N = unsigned char; tracker_type T = tracker_type::tracker_placeholder_missing; S = numerical_string; std::string = std::__cxx11::basic_string]' 972 | S s; | ^ trackedelement.h:971:25: required from here 971 | virtual std::string as_string() const override { | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedelement.h:972:11: required from 'std::string tracker_element_core_numeric::as_string() const [with N = unsigned char; tracker_type T = tracker_type::tracker_placeholder_missing; S = numerical_string; std::string = std::__cxx11::basic_string]' 972 | S s; | ^ trackedelement.h:971:25: required from here 971 | virtual std::string as_string() const override { | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from trackedcomponent.h:35, from trackedcomponent.cc:21: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from entrytracker.cc:25: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c trackedlocation.cc -o trackedlocation.cc.o In file included from entrytracker.h:36, from entrytracker.cc:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from entrytracker.cc:26: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from trackedcomponent.h:36: trackedelement.h: In instantiation of 'class numerical_string': trackedelement.h:972:11: required from 'std::string tracker_element_core_numeric::as_string() const [with N = unsigned char; tracker_type T = tracker_type::tracker_placeholder_missing; S = numerical_string; std::string = std::__cxx11::basic_string]' 972 | S s; | ^ trackedelement.h:971:25: required from here 971 | virtual std::string as_string() const override { | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from util.h:62, from entrytracker.cc:22: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&, unsigned int&, std::__cxx11::basic_string, std::allocator >&, unsigned int&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >, unsigned int, std::__cxx11::basic_string, std::allocator >, unsigned int}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >, unsigned int, std::__cxx11::basic_string, std::allocator >, unsigned int}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >, unsigned int, std::__cxx11::basic_string, std::allocator >, unsigned int>]' 1918 | return {FMT_FORWARD(args)...}; | ^ entrytracker.cc:127:49: required from here 127 | throw std::runtime_error(fmt::format("tried to register field {} of type {}/{} " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 128 | "but field already exists with conflicting type/signature {}/{}", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 129 | in_name, in_builder->get_type_as_string(), in_builder->get_signature(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 130 | field_iter->second->builder->get_type_as_string(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 131 | field_iter->second->builder->get_signature())); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, ((std::__cxx11::basic_string&)args#1), ((unsigned int&)args#2), ((std::__cxx11::basic_string&)args#3), ((unsigned int&)args#4))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:240:49: required from 'void kis_unique_lock::lock(const std::string&) [with M = kis_mutex; std::string = std::__cxx11::basic_string]' 240 | throw std::runtime_error(fmt::format("invalid use: thread {} attempted to lock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 241 | "unique lock {} when already locked for {}", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 242 | std::this_thread::get_id(), mutex.get_name(), op)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ entrytracker.cc:220:14: required from here 220 | lock.lock(); | ~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1, args#2)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from trackedlocation.h:36, from trackedlocation.cc:24: trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:79:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:271:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from gpstracker.h:27, from trackedlocation.cc:25: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c devicetracker_component.cc -o devicetracker_component.cc.o In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c devicetracker_view.cc -o devicetracker_view.cc.o In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from trackedlocation.h:35: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedelement.h:972:11: required from 'std::string tracker_element_core_numeric::as_string() const [with N = unsigned char; tracker_type T = tracker_type::tracker_placeholder_missing; S = numerical_string; std::string = std::__cxx11::basic_string]' 972 | S s; | ^ trackedelement.h:971:25: required from here 971 | virtual std::string as_string() const override { | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c devicetracker_view_workers.cc -o devicetracker_view_workers.cc.o fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c kis_server_announce.cc -o kis_server_announce.cc.o In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from devicetracker_component.cc:33: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c json_adapter.cc -o json_adapter.cc.o In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from devicetracker_view.h:30, from devicetracker_view.cc:25: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from devicetracker_component.h:39: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from devicetracker_view.h:28: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from devicetracker_view_workers.h:30, from devicetracker_view_workers.cc:21: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from gpstracker.h:27, from kis_datasource.h:29, from datasourcetracker.h:32, from kis_server_announce.h:26, from kis_server_announce.cc:30: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from devicetracker_view_workers.h:28: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from devicetracker_component.h:38: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from json_adapter.cc:36: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c plugintracker.cc -o plugintracker.cc.o In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from util.h:62, from uuid.h:38, from devicetracker_view.h:27: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from kis_mutex.h:36, from devicetracker_view_workers.h:26: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from gpstracker.h:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from json_adapter.cc:32: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ devicetracker_view.cc:103:27: required from here 103 | auto uri = fmt::format("/devices/views/{}/devices", in_id); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from json_adapter.cc:31: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ datasourcetracker.h:77:7: warning: 'class datasource_tracker_worker' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 77 | class datasource_tracker_worker { | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from datasourcetracker.h:30: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ datasourcetracker.h:504:9: required from here 504 | _MSG(fmt::format("(Remote) - {}", msg), msgtype); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c alertracker.cc -o alertracker.cc.o In file included from messagebus.h:32, from plugintracker.cc:35: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from messagebus.h:29: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from kis_external.h:43, from plugintracker.h:107, from plugintracker.cc:36: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c timetracker.cc -o timetracker.cc.o cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from configfile.h:35, from plugintracker.cc:33: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c channeltracker2.cc -o channeltracker2.cc.o In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from kis_gps.h:25, from alertracker.h:34, from alertracker.cc:25: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from timetracker.cc:26: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from trackedcomponent.h:36, from eventbus.h:55, from messagebus.h:29, from timetracker.cc:28: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from timetracker.h:35: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c devicetracker.cc -o devicetracker.cc.o In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from alertracker.h:32: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:240:49: required from 'void kis_unique_lock::lock(const std::string&) [with M = kis_mutex; std::string = std::__cxx11::basic_string]' 240 | throw std::runtime_error(fmt::format("invalid use: thread {} attempted to lock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 241 | "unique lock {} when already locked for {}", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 242 | std::this_thread::get_id(), mutex.get_name(), op)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ timetracker.cc:102:18: required from here 102 | lock.lock(); | ~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1, args#2)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:240:49: required from 'void kis_unique_lock::lock(const std::string&) [with M = kis_mutex; std::string = std::__cxx11::basic_string]' 240 | throw std::runtime_error(fmt::format("invalid use: thread {} attempted to lock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 241 | "unique lock {} when already locked for {}", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 242 | std::this_thread::get_id(), mutex.get_name(), op)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ timetracker.cc:102:18: required from here 102 | lock.lock(); | ~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1, args#2)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c devicetracker_httpd.cc -o devicetracker_httpd.cc.o trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedelement.h:972:11: required from 'std::string tracker_element_core_numeric::as_string() const [with N = unsigned char; tracker_type T = tracker_type::tracker_placeholder_missing; S = numerical_string; std::string = std::__cxx11::basic_string]' 972 | S s; | ^ trackedelement.h:971:25: required from here 971 | virtual std::string as_string() const override { | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedelement.h:972:11: required from 'std::string tracker_element_core_numeric::as_string() const [with N = unsigned char; tracker_type T = tracker_type::tracker_placeholder_missing; S = numerical_string; std::string = std::__cxx11::basic_string]' 972 | S s; | ^ trackedelement.h:971:25: required from here 971 | virtual std::string as_string() const override { | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from channeltracker2.h:31, from channeltracker2.cc:21: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from eventbus.h:53: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = mac_addr&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = mac_addr&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, unsigned char&, unsigned int&, double&, mac_addr&, mac_addr&, mac_addr&, mac_addr&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ alertracker.h:232:46: required from here 232 | set_hash(adler32_checksum(fmt::format("{} {} {} {} {} {} {} {} {}", | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | get_header(), get_severity(), get_phy(), get_timestamp(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 234 | get_transmitter_mac(), get_source_mac(), get_dest_mac(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | get_other_mac(), get_channel()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((unsigned char&)args#1), ((unsigned int&)args#2), ((double&)args#3), ((mac_addr&)args#4), ((mac_addr&)args#5), ((mac_addr&)args#6), ((mac_addr&)args#7), ((std::__cxx11::basic_string&)args#8))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from kis_gps.h:25, from alertracker.h:34, from devicetracker.cc:38: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from channeltracker2.h:30: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from devicetracker_httpd.cc:38: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from trackedcomponent.h:36, from eventbus.h:55, from messagebus.h:29: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from devicetracker_httpd.cc:39: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c kis_dlt.cc -o kis_dlt.cc.o fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:240:49: required from 'void kis_unique_lock::lock(const std::string&) [with M = kis_mutex; std::string = std::__cxx11::basic_string]' 240 | throw std::runtime_error(fmt::format("invalid use: thread {} attempted to lock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 241 | "unique lock {} when already locked for {}", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 242 | std::this_thread::get_id(), mutex.get_name(), op)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ alertracker.cc:336:14: required from here 336 | lock.lock(); | ~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1, args#2)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:240:49: required from 'void kis_unique_lock::lock(const std::string&) [with M = kis_mutex; std::string = std::__cxx11::basic_string]' 240 | throw std::runtime_error(fmt::format("invalid use: thread {} attempted to lock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 241 | "unique lock {} when already locked for {}", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 242 | std::this_thread::get_id(), mutex.get_name(), op)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ alertracker.cc:336:14: required from here 336 | lock.lock(); | ~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1, args#2)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from alertracker.h:32: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from util.h:62, from channeltracker2.cc:19: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from devicetracker.cc:41: datasourcetracker.h:77:7: warning: 'class datasource_tracker_worker' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 77 | class datasource_tracker_worker { | ^~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from eventbus.h:53: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from devicetracker_httpd.cc:35: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c kis_dlt_ppi.cc -o kis_dlt_ppi.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c kis_dlt_radiotap.cc -o kis_dlt_radiotap.cc.o fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = mac_addr&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = mac_addr&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, unsigned char&, unsigned int&, double&, mac_addr&, mac_addr&, mac_addr&, mac_addr&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ alertracker.h:232:46: required from here 232 | set_hash(adler32_checksum(fmt::format("{} {} {} {} {} {} {} {} {}", | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | get_header(), get_severity(), get_phy(), get_timestamp(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 234 | get_transmitter_mac(), get_source_mac(), get_dest_mac(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | get_other_mac(), get_channel()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((unsigned char&)args#1), ((unsigned int&)args#2), ((double&)args#3), ((mac_addr&)args#4), ((mac_addr&)args#5), ((mac_addr&)args#6), ((mac_addr&)args#7), ((std::__cxx11::basic_string&)args#8))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ datasourcetracker.h:504:9: required from here 504 | _MSG(fmt::format("(Remote) - {}", msg), msgtype); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = device_key&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = device_key&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {device_key&}; Context = fmt::v9::basic_format_context; Args = {device_key}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {device_key&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string]' 1918 | return {FMT_FORWARD(args)...}; | ^ devicetracker.cc:483:53: required from here 483 | con->set_target_file(fmt::format("kismet-device-{}.pcapng", devkey)); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = mac_addr&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = mac_addr&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, unsigned char&, unsigned int&, double&, mac_addr&, mac_addr&, mac_addr&, mac_addr&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ alertracker.h:232:46: required from here 232 | set_hash(adler32_checksum(fmt::format("{} {} {} {} {} {} {} {} {}", | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | get_header(), get_severity(), get_phy(), get_timestamp(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 234 | get_transmitter_mac(), get_source_mac(), get_dest_mac(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | get_other_mac(), get_channel()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((unsigned char&)args#1), ((unsigned int&)args#2), ((double&)args#3), ((mac_addr&)args#4), ((mac_addr&)args#5), ((mac_addr&)args#6), ((mac_addr&)args#7), ((std::__cxx11::basic_string&)args#8))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = uuid&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = uuid&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {uuid&}; Context = fmt::v9::basic_format_context; Args = {uuid}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {uuid&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string]' 1918 | return {FMT_FORWARD(args)...}; | ^ devicetracker.cc:2019:66: required from here 2019 | std::make_shared(fmt::format("seenby-{}", source_uuid), | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from kis_dlt.cc:24: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:240:49: required from 'void kis_unique_lock::lock(const std::string&) [with M = kis_mutex; std::string = std::__cxx11::basic_string]' 240 | throw std::runtime_error(fmt::format("invalid use: thread {} attempted to lock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 241 | "unique lock {} when already locked for {}", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 242 | std::this_thread::get_id(), mutex.get_name(), op)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ devicetracker_httpd.cc:70:24: required from here 70 | devlist_locker.lock(); | ~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1, args#2)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&, const std::__cxx11::basic_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:240:49: required from 'void kis_unique_lock::lock(const std::string&) [with M = kis_mutex; std::string = std::__cxx11::basic_string]' 240 | throw std::runtime_error(fmt::format("invalid use: thread {} attempted to lock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 241 | "unique lock {} when already locked for {}", | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 242 | std::this_thread::get_id(), mutex.get_name(), op)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ devicetracker_httpd.cc:70:24: required from here 70 | devlist_locker.lock(); | ~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1, args#2)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from packet.h:36: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ devicetracker.cc:997:14: required from here 997 | lk.unlock(); | ~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_dlt.cc:23: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c kis_dlt_btle_radio.cc -o kis_dlt_btle_radio.cc.o fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from kis_dlt_ppi.cc:26: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from messagebus.h:29: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from kis_dlt_ppi.cc:27: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from kis_dlt_radiotap.cc:26: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from messagebus.h:29: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from kis_dlt_radiotap.cc:27: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c kaitaistream.cc -o kaitaistream.cc.o cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] kaitaistream.cc: In member function 'float kaitai::kstream::read_f4be()': kaitaistream.cc:256:38: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 256 | return reinterpret_cast(t); | ^ kaitaistream.cc: In member function 'double kaitai::kstream::read_f8be()': kaitaistream.cc:265:39: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 265 | return reinterpret_cast(t); | ^ kaitaistream.cc: In member function 'float kaitai::kstream::read_f4le()': kaitaistream.cc:278:38: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 278 | return reinterpret_cast(t); | ^ kaitaistream.cc: In member function 'double kaitai::kstream::read_f8le()': kaitaistream.cc:287:39: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 287 | return reinterpret_cast(t); | ^ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] At global scope: cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie.cc -o dot11_parsers/dot11_ie.cc.o trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedelement.h:972:11: required from 'std::string tracker_element_core_numeric::as_string() const [with N = unsigned char; tracker_type T = tracker_type::tracker_placeholder_missing; S = numerical_string; std::string = std::__cxx11::basic_string]' 972 | S s; | ^ trackedelement.h:971:25: required from here 971 | virtual std::string as_string() const override { | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_7_country.cc -o dot11_parsers/dot11_ie_7_country.cc.o In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_dlt_ppi.cc:23: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from kis_dlt_btle_radio.cc:24: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from messagebus.h:29: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from kis_dlt_btle_radio.cc:25: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_11_qbss.cc -o dot11_parsers/dot11_ie_11_qbss.cc.o In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_dlt_radiotap.cc:23: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./fmt/format.h:48, from ./fmt/ostream.h:20, from ./fmt.h:23, from dot11_parsers/dot11_ie_11_qbss.cc:20: ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./fmt/format.h:48, from ./fmt/ostream.h:20, from ./fmt.h:23, from ./globalregistry.h:29, from dot11_parsers/dot11_ie.cc:19: ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ ./globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = std::vector >]' 361 | lk.unlock(); | ~~~~~~~~~^~ dot11_parsers/dot11_ie.cc:23:60: required from here 23 | m_tags = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ ./globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = std::vector >]' 361 | lk.unlock(); | ~~~~~~~~~^~ dot11_parsers/dot11_ie.cc:23:60: required from here 23 | m_tags = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_33_power.cc -o dot11_parsers/dot11_ie_33_power.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_36_supported_channels.cc -o dot11_parsers/dot11_ie_36_supported_channels.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_45_ht_cap.cc -o dot11_parsers/dot11_ie_45_ht_cap.cc.o In file included from ./fmt/format.h:48, from ./fmt/ostream.h:20, from ./fmt.h:23, from dot11_parsers/dot11_ie_36_supported_channels.cc:20: ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_dlt_btle_radio.cc:21: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./fmt/format.h:48, from ./fmt/ostream.h:20, from ./fmt.h:23, from ./globalregistry.h:29, from dot11_parsers/dot11_ie_45_ht_cap.cc:19: ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ ./globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = dot11_ie_45_ht_cap::dot11_ie_45_rx_mcs]' 361 | lk.unlock(); | ~~~~~~~~~^~ dot11_parsers/dot11_ie_45_ht_cap.cc:25:57: required from here 25 | m_mcs = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ ./globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = dot11_ie_45_ht_cap::dot11_ie_45_rx_mcs]' 361 | lk.unlock(); | ~~~~~~~~~^~ dot11_parsers/dot11_ie_45_ht_cap.cc:25:57: required from here 25 | m_mcs = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_48_rsn.cc -o dot11_parsers/dot11_ie_48_rsn.cc.o cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_52_rmm_neighbor.cc -o dot11_parsers/dot11_ie_52_rmm_neighbor.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_54_mobility.cc -o dot11_parsers/dot11_ie_54_mobility.cc.o cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_55_fastbss.cc -o dot11_parsers/dot11_ie_55_fastbss.cc.o cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./fmt/format.h:48, from ./fmt/ostream.h:20, from ./fmt.h:23, from ./globalregistry.h:29, from dot11_parsers/dot11_ie_48_rsn.cc:19: ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_61_ht_op.cc -o dot11_parsers/dot11_ie_61_ht_op.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_70_rm_capabilities.cc -o dot11_parsers/dot11_ie_70_rm_capabilities.cc.o cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ ./globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = dot11_ie_48_rsn::dot11_ie_48_rsn_rsn_cipher]' 361 | lk.unlock(); | ~~~~~~~~~^~ dot11_parsers/dot11_ie_48_rsn.cc:24:91: required from here 24 | m_group_cipher = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ ./globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = dot11_ie_48_rsn::dot11_ie_48_rsn_rsn_cipher]' 361 | lk.unlock(); | ~~~~~~~~~^~ dot11_parsers/dot11_ie_48_rsn.cc:24:91: required from here 24 | m_group_cipher = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_113_mesh_config.cc -o dot11_parsers/dot11_ie_113_mesh_config.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_133_cisco_ccx.cc -o dot11_parsers/dot11_ie_133_cisco_ccx.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_150_vendor.cc -o dot11_parsers/dot11_ie_150_vendor.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_150_cisco_powerlevel.cc -o dot11_parsers/dot11_ie_150_cisco_powerlevel.cc.o cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_191_vht_cap.cc -o dot11_parsers/dot11_ie_191_vht_cap.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_192_vht_op.cc -o dot11_parsers/dot11_ie_192_vht_op.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_127_extended_capabilities.cc -o dot11_parsers/dot11_ie_127_extended_capabilities.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_221_vendor.cc -o dot11_parsers/dot11_ie_221_vendor.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_221_ms_wps.cc -o dot11_parsers/dot11_ie_221_ms_wps.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_221_ms_wmm.cc -o dot11_parsers/dot11_ie_221_ms_wmm.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_221_dji_droneid.cc -o dot11_parsers/dot11_ie_221_dji_droneid.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_221_wfa_wpa.cc -o dot11_parsers/dot11_ie_221_wfa_wpa.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_221_cisco_client_mfp.cc -o dot11_parsers/dot11_ie_221_cisco_client_mfp.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_221_wpa_transition.cc -o dot11_parsers/dot11_ie_221_wpa_transition.cc.o cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./fmt/format.h:48, from ./fmt/ostream.h:20, from ./fmt.h:23, from ./macaddr.h:47, from dot11_parsers/dot11_ie_221_wpa_transition.h:27, from dot11_parsers/dot11_ie_221_wpa_transition.cc:19: ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_221_rsn_pmkid.cc -o dot11_parsers/dot11_ie_221_rsn_pmkid.cc.o In file included from ./fmt/format.h:48, from ./fmt/ostream.h:20, from ./fmt.h:23, from ./globalregistry.h:29, from dot11_parsers/dot11_ie_221_ms_wps.cc:19: ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_221_wfa.cc -o dot11_parsers/dot11_ie_221_wfa.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_ie_255_ext_tag.cc -o dot11_parsers/dot11_ie_255_ext_tag.cc.o In file included from ./fmt/format.h:48, from ./fmt/ostream.h:20, from ./fmt.h:23, from ./globalregistry.h:29, from dot11_parsers/dot11_ie_221_wfa_wpa.cc:19: ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./fmt/format.h:48, from ./fmt/ostream.h:20, from ./fmt.h:23, from ./globalregistry.h:29, from dot11_parsers/dot11_ie_221_dji_droneid.cc:19: ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ ./globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = std::vector >]' 361 | lk.unlock(); | ~~~~~~~~~^~ dot11_parsers/dot11_ie_221_ms_wps.cc:24:80: required from here 24 | m_wps_elements = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ ./globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = std::vector >]' 361 | lk.unlock(); | ~~~~~~~~~^~ dot11_parsers/dot11_ie_221_ms_wps.cc:24:80: required from here 24 | m_wps_elements = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_action.cc -o dot11_parsers/dot11_action.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_wpa_eap.cc -o dot11_parsers/dot11_wpa_eap.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c dot11_parsers/dot11_p2p_ie.cc -o dot11_parsers/dot11_p2p_ie.cc.o ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ ./globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = std::vector >]' 361 | lk.unlock(); | ~~~~~~~~~^~ dot11_parsers/dot11_ie_221_wfa_wpa.cc:28:78: required from here 28 | m_unicast_ciphers = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ ./globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = std::vector >]' 361 | lk.unlock(); | ~~~~~~~~~^~ dot11_parsers/dot11_ie_221_wfa_wpa.cc:28:78: required from here 28 | m_unicast_ciphers = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ ./globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = dot11_ie_221_dji_droneid::dji_subcommand_flight_reg]' 361 | lk.unlock(); | ~~~~~~~~~^~ dot11_parsers/dot11_ie_221_dji_droneid.cc:32:70: required from here 32 | auto fr = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ ./globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = dot11_ie_221_dji_droneid::dji_subcommand_flight_reg]' 361 | lk.unlock(); | ~~~~~~~~~^~ dot11_parsers/dot11_ie_221_dji_droneid.cc:32:70: required from here 32 | auto fr = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c bluetooth_parsers/btle.cc -o bluetooth_parsers/btle.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c phy_80211.cc -o phy_80211.cc.o In file included from ./fmt/format.h:48, from ./fmt/ostream.h:20, from ./fmt.h:23, from ./macaddr.h:47, from bluetooth_parsers/btle.h:27, from bluetooth_parsers/btle.cc:19: ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./fmt/format.h:48, from ./fmt/ostream.h:20, from ./fmt.h:23, from ./globalregistry.h:29, from dot11_parsers/dot11_action.cc:19: ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./fmt/format.h:48, from ./fmt/ostream.h:20, from ./fmt.h:23, from ./globalregistry.h:29, from dot11_parsers/dot11_p2p_ie.cc:19: ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ ./globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = dot11_action::action_rmm]' 361 | lk.unlock(); | ~~~~~~~~~^~ dot11_parsers/dot11_action.cc:27:54: required from here 27 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ ./globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = dot11_action::action_rmm]' 361 | lk.unlock(); | ~~~~~~~~~^~ dot11_parsers/dot11_action.cc:27:54: required from here 27 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c phy_80211_components.cc -o phy_80211_components.cc.o ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ ./globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = std::vector >]' 361 | lk.unlock(); | ~~~~~~~~~^~ dot11_parsers/dot11_p2p_ie.cc:23:60: required from here 23 | m_tags = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ ./globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = std::vector >]' 361 | lk.unlock(); | ~~~~~~~~~^~ dot11_parsers/dot11_p2p_ie.cc:23:60: required from here 23 | m_tags = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c phy_80211_dissectors.cc -o phy_80211_dissectors.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c phy_sensor.cc -o phy_sensor.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c phy_meter.cc -o phy_meter.cc.o In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from phy_80211.cc:35: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from phy_80211.h:48, from phy_80211_components.cc:25: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from packetchain.h:39: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from phy_80211.h:48, from phy_80211_dissectors.cc:36: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from phy_sensor.h:26, from phy_sensor.cc:22: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from manuf.h:41, from phy_80211_components.cc:24: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from packetchain.h:39: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from phy_sensor.h:25: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': phy_80211_components.h:393:9: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': phy_80211_components.h:500:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from phy_meter.h:26, from phy_meter.cc:24: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from phy_80211.cc:48: phy_80211.h:393:7: warning: base class 'class time_tracker_event' has accessible non-virtual destructor [-Wnon-virtual-dtor] 393 | class kis_80211_phy : public kis_phy_handler, public time_tracker_event { | ^~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c phy_adsb.cc -o phy_adsb.cc.o trackedelement.h: In instantiation of 'class numerical_string': phy_80211_components.h:393:9: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': phy_80211_components.h:500:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c phy_zwave.cc -o phy_zwave.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c phy_bluetooth.cc -o phy_bluetooth.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c phy_uav_drone.cc -o phy_uav_drone.cc.o phy_80211.h:393:7: warning: base class 'class time_tracker_event' has accessible non-virtual destructor [-Wnon-virtual-dtor] 393 | class kis_80211_phy : public kis_phy_handler, public time_tracker_event { | ^~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from phy_80211.cc:34: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': phy_80211_components.h:393:9: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': phy_80211_components.h:500:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from manuf.h:39: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from phy_meter.h:25: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ phy_80211.h:393:7: warning: base class 'class time_tracker_event' has accessible non-virtual destructor [-Wnon-virtual-dtor] 393 | class kis_80211_phy : public kis_phy_handler, public time_tracker_event { | ^~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': phy_meter.h:107:5: required from here 81 | return (rtype) get_tracker_value(cvar); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = mac_addr&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = mac_addr&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, unsigned char&, unsigned int&, double&, mac_addr&, mac_addr&, mac_addr&, mac_addr&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ alertracker.h:232:46: required from here 232 | set_hash(adler32_checksum(fmt::format("{} {} {} {} {} {} {} {} {}", | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | get_header(), get_severity(), get_phy(), get_timestamp(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 234 | get_transmitter_mac(), get_source_mac(), get_dest_mac(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | get_other_mac(), get_channel()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((unsigned char&)args#1), ((unsigned int&)args#2), ((double&)args#3), ((mac_addr&)args#4), ((mac_addr&)args#5), ((mac_addr&)args#6), ((mac_addr&)args#7), ((std::__cxx11::basic_string&)args#8))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': phy_meter.h:107:5: required from here 81 | return (rtype) get_tracker_value(cvar); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from phy_80211.h:47: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c phy_nrf_mousejack.cc -o phy_nrf_mousejack.cc.o In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from phy_sensor.h:24: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = mac_addr&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = mac_addr&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, unsigned char&, unsigned int&, double&, mac_addr&, mac_addr&, mac_addr&, mac_addr&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ alertracker.h:232:46: required from here 232 | set_hash(adler32_checksum(fmt::format("{} {} {} {} {} {} {} {} {}", | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | get_header(), get_severity(), get_phy(), get_timestamp(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 234 | get_transmitter_mac(), get_source_mac(), get_dest_mac(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | get_other_mac(), get_channel()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((unsigned char&)args#1), ((unsigned int&)args#2), ((double&)args#3), ((mac_addr&)args#4), ((mac_addr&)args#5), ((mac_addr&)args#6), ((mac_addr&)args#7), ((std::__cxx11::basic_string&)args#8))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c phy_btle.cc -o phy_btle.cc.o In file included from phy_meter.cc:22: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c phy_802154.cc -o phy_802154.cc.o fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c phy_80211_ssidtracker.cc -o phy_80211_ssidtracker.cc.o In file included from adsb_icao.h:43, from phy_adsb.h:26, from phy_adsb.cc:22: trackedelement.h: In instantiation of 'class numerical_string': adsb_icao.h:80:5: required from here 81 | return (rtype) get_tracker_value(cvar); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': adsb_icao.h:86:5: required from here 81 | return (rtype) get_tracker_value(cvar); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from gpstracker.h:27, from kis_datasource.h:29, from datasourcetracker.h:32, from phy_adsb.h:27: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from phy_zwave.h:26, from phy_zwave.cc:22: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from phy_bluetooth.cc:31: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from phy_uav_drone.h:23, from phy_uav_drone.cc:22: trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:79:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:271:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from phyhandler.h:28, from phy_uav_drone.h:25: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from phy_nrf_mousejack.cc:31: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c phy_radiation.cc -o phy_radiation.cc.o In file included from phy_zwave.h:25: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from packetchain.h:39: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from phy_btle.cc:32: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from packetchain.h:39: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ datasourcetracker.h:77:7: warning: 'class datasource_tracker_worker' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 77 | class datasource_tracker_worker { | ^~~~~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from phy_802154.cc:31: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': phy_bluetooth.h:114:5: required from here 81 | return (rtype) get_tracker_value(cvar); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from phy_zwave.h:24: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from devicetracker.h:44, from phy_80211_ssidtracker.h:26, from phy_80211_ssidtracker.cc:19: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from phy_bluetooth.cc:30: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': phy_80211_components.h:393:9: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': phy_80211_components.h:500:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from util.h:62, from adsb_icao.h:39: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from packetchain.h:39: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from phy_uav_drone.cc:23: phy_80211.h:393:7: warning: base class 'class time_tracker_event' has accessible non-virtual destructor [-Wnon-virtual-dtor] 393 | class kis_80211_phy : public kis_phy_handler, public time_tracker_event { | ^~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from trackedelement.h:41: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = mac_addr&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = mac_addr&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, unsigned char&, unsigned int&, double&, mac_addr&, mac_addr&, mac_addr&, mac_addr&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ alertracker.h:232:46: required from here 232 | set_hash(adler32_checksum(fmt::format("{} {} {} {} {} {} {} {} {}", | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | get_header(), get_severity(), get_phy(), get_timestamp(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 234 | get_transmitter_mac(), get_source_mac(), get_dest_mac(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | get_other_mac(), get_channel()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((unsigned char&)args#1), ((unsigned int&)args#2), ((double&)args#3), ((mac_addr&)args#4), ((mac_addr&)args#5), ((mac_addr&)args#6), ((mac_addr&)args#7), ((std::__cxx11::basic_string&)args#8))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ datasourcetracker.h:504:9: required from here 504 | _MSG(fmt::format("(Remote) - {}", msg), msgtype); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from packetchain.h:39: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = uuid&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = uuid&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {uuid&}; Context = fmt::v9::basic_format_context; Args = {uuid}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {uuid&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string]' 1918 | return {FMT_FORWARD(args)...}; | ^ phy_adsb.cc:136:43: required from here 136 | auto uri = fmt::format("/phy/ADSB/by-uuid/{}/proxy", src_uuid); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from phy_nrf_mousejack.cc:30: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from devicetracker.h:42: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from phyhandler.h:28, from phy_radiation.h:25, from phy_radiation.cc:22: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': phy_btle.h:82:74: required from here 82 | register_field("btle.short_service.uuid", "16bit service UUID", &short_uuid); | ^~~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from phy_802154.cc:30: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from phy_btle.cc:31: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from phyhandler.h:27: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': phy_80211_components.h:393:9: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': phy_80211_components.h:500:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from phy_80211_ssidtracker.cc:22: phy_80211.h:393:7: warning: base class 'class time_tracker_event' has accessible non-virtual destructor [-Wnon-virtual-dtor] 393 | class kis_80211_phy : public kis_phy_handler, public time_tracker_event { | ^~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = mac_addr&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = mac_addr&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, unsigned char&, unsigned int&, double&, mac_addr&, mac_addr&, mac_addr&, mac_addr&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ alertracker.h:232:46: required from here 232 | set_hash(adler32_checksum(fmt::format("{} {} {} {} {} {} {} {} {}", | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | get_header(), get_severity(), get_phy(), get_timestamp(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 234 | get_transmitter_mac(), get_source_mac(), get_dest_mac(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | get_other_mac(), get_channel()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((unsigned char&)args#1), ((unsigned int&)args#2), ((double&)args#3), ((mac_addr&)args#4), ((mac_addr&)args#5), ((mac_addr&)args#6), ((mac_addr&)args#7), ((std::__cxx11::basic_string&)args#8))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from devicetracker.h:40: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from phy_radiation.h:24: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c kis_dissector_ipdata.cc -o kis_dissector_ipdata.cc.o cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from messagebus.h:32, from kis_dissector_ipdata.cc:24: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from messagebus.h:29: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from kis_dissector_ipdata.cc:25: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c manuf.cc -o manuf.cc.o In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c bluetooth_ids.cc -o bluetooth_ids.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c adsb_icao.cc -o adsb_icao.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c logtracker.cc -o logtracker.cc.o trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_dissector_ipdata.cc:21: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = mac_addr&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = mac_addr&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, unsigned char&, unsigned int&, double&, mac_addr&, mac_addr&, mac_addr&, mac_addr&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ alertracker.h:232:46: required from here 232 | set_hash(adler32_checksum(fmt::format("{} {} {} {} {} {} {} {} {}", | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | get_header(), get_severity(), get_phy(), get_timestamp(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 234 | get_transmitter_mac(), get_source_mac(), get_dest_mac(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | get_other_mac(), get_channel()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((unsigned char&)args#1), ((unsigned int&)args#2), ((double&)args#3), ((mac_addr&)args#4), ((mac_addr&)args#5), ((mac_addr&)args#6), ((mac_addr&)args#7), ((std::__cxx11::basic_string&)args#8))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from manuf.cc:24: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from entrytracker.h:36, from manuf.cc:23: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from configfile.h:35, from manuf.cc:22: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from bluetooth_ids.cc:23: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from bluetooth_ids.h:32, from bluetooth_ids.cc:19: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from adsb_icao.cc:24: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from entrytracker.h:36, from adsb_icao.cc:23: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from bluetooth_ids.h:31: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': adsb_icao.h:80:5: required from here 81 | return (rtype) get_tracker_value(cvar); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': adsb_icao.h:86:5: required from here 81 | return (rtype) get_tracker_value(cvar); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from configfile.h:35, from adsb_icao.cc:22: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from logtracker.h:29, from logtracker.cc:23: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedelement.h:972:11: required from 'std::string tracker_element_core_numeric::as_string() const [with N = unsigned char; tracker_type T = tracker_type::tracker_placeholder_missing; S = numerical_string; std::string = std::__cxx11::basic_string]' 972 | S s; | ^ trackedelement.h:971:25: required from here 971 | virtual std::string as_string() const override { | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from logtracker.h:28: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedelement.h:972:11: required from 'std::string tracker_element_core_numeric::as_string() const [with N = unsigned char; tracker_type T = tracker_type::tracker_placeholder_missing; S = numerical_string; std::string = std::__cxx11::basic_string]' 972 | S s; | ^ trackedelement.h:971:25: required from here 971 | virtual std::string as_string() const override { | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c kis_ppilogfile.cc -o kis_ppilogfile.cc.o trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c kis_databaselogfile.cc -o kis_databaselogfile.cc.o trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from logtracker.h:26: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c kis_pcapnglogfile.cc -o kis_pcapnglogfile.cc.o fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = mac_addr&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = mac_addr&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, unsigned char&, unsigned int&, double&, mac_addr&, mac_addr&, mac_addr&, mac_addr&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ alertracker.h:232:46: required from here 232 | set_hash(adler32_checksum(fmt::format("{} {} {} {} {} {} {} {} {}", | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | get_header(), get_severity(), get_phy(), get_timestamp(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 234 | get_transmitter_mac(), get_source_mac(), get_dest_mac(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | get_other_mac(), get_channel()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((unsigned char&)args#1), ((unsigned int&)args#2), ((double&)args#3), ((mac_addr&)args#4), ((mac_addr&)args#5), ((mac_addr&)args#6), ((mac_addr&)args#7), ((std::__cxx11::basic_string&)args#8))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = uuid&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = uuid&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {uuid&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {uuid, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {uuid, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ logtracker.cc:209:21: required from here 93 | Globalreg::globalreg->messagebus->inject_message(fmt::format(__VA_ARGS__), MSGFLAG_INFO) | ~~~~~~~~~~~^~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((uuid&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c kis_wiglecsvlogfile.cc -o kis_wiglecsvlogfile.cc.o fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c messagebus_restclient.cc -o messagebus_restclient.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c streamtracker.cc -o streamtracker.cc.o In file included from messagebus.h:32, from kis_ppilogfile.h:35, from kis_ppilogfile.cc:26: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from messagebus.h:29: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from kis_ppilogfile.h:36: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from json_adapter.h:26, from kis_databaselogfile.cc:25: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c pcapng_stream_futurebuf.cc -o pcapng_stream_futurebuf.cc.o In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from logtracker.h:29, from kis_pcapnglogfile.h:25, from kis_pcapnglogfile.cc:22: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from json_adapter.h:25: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from packet.h:40, from devicetracker_component.h:41, from logtracker.h:29, from kis_wiglecsvlogfile.h:26, from kis_wiglecsvlogfile.cc:21: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from messagebus_restclient.cc:21: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from messagebus.h:29: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from logtracker.h:28: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from messagebus_restclient.h:34, from messagebus_restclient.cc:22: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from streamtracker.h:29, from streamtracker.cc:21: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from logtracker.h:28: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': phy_80211_components.h:393:9: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': phy_80211_components.h:500:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_databaselogfile.cc:24: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from kis_ppilogfile.cc:28: phy_80211.h:393:7: warning: base class 'class time_tracker_event' has accessible non-virtual destructor [-Wnon-virtual-dtor] 393 | class kis_80211_phy : public kis_phy_handler, public time_tracker_event { | ^~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_ppilogfile.h:33: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from kis_net_beast_httpd.h:41: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from streamtracker.h:28: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from configfile.h:35, from kis_pcapnglogfile.cc:21: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = mac_addr&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = mac_addr&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, unsigned char&, unsigned int&, double&, mac_addr&, mac_addr&, mac_addr&, mac_addr&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ alertracker.h:232:46: required from here 232 | set_hash(adler32_checksum(fmt::format("{} {} {} {} {} {} {} {} {}", | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | get_header(), get_severity(), get_phy(), get_timestamp(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 234 | get_transmitter_mac(), get_source_mac(), get_dest_mac(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | get_other_mac(), get_channel()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((unsigned char&)args#1), ((unsigned int&)args#2), ((double&)args#3), ((mac_addr&)args#4), ((mac_addr&)args#5), ((mac_addr&)args#6), ((mac_addr&)args#7), ((std::__cxx11::basic_string&)args#8))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = device_key&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = device_key&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {device_key&}; Context = fmt::v9::basic_format_context; Args = {device_key}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {device_key}; std::string = std::__cxx11::basic_string; format_string = basic_format_string]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_databaselogfile.cc:817:9: required from here 96 | Globalreg::globalreg->messagebus->inject_message(fmt::format(__VA_ARGS__), MSGFLAG_ERROR) | ~~~~~~~~~~~^~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((device_key&)args#0))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from eventbus.h:53: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from messagebus.h:32, from future_chainbuf.h:33, from pcapng_stream_futurebuf.h:28, from pcapng_stream_futurebuf.cc:22: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from messagebus.h:29: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from packetchain.h:42, from pcapng_stream_futurebuf.h:30: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': phy_80211_components.h:393:9: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': phy_80211_components.h:500:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from streamtracker.h:26: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ kis_ppilogfile.cc:108:14: required from here 108 | lk.unlock(); | ~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ kis_ppilogfile.cc:108:14: required from here 108 | lk.unlock(); | ~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from kis_wiglecsvlogfile.h:28: phy_80211.h:393:7: warning: base class 'class time_tracker_event' has accessible non-virtual destructor [-Wnon-virtual-dtor] 393 | class kis_80211_phy : public kis_phy_handler, public time_tracker_event { | ^~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from configfile.h:35, from kis_wiglecsvlogfile.h:24: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = mac_addr&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = mac_addr&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {mac_addr&, std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&, int&, int&, double&, double&, double&, const char (&)[5]}; Context = fmt::v9::basic_format_context; Args = {mac_addr, std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >, int, int, double, double, double, char [5]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'void fmt::v9::print(FILE*, format_string, T&& ...) [with T = {mac_addr, std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >, int, int&, double&, double&, double&, const char (&)[5]}; FILE = FILE; format_string = basic_format_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >, int, int&, double&, double&, double&, const char (&)[5]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_wiglecsvlogfile.cc:311:19: required from here 311 | fmt::print(wigle->csvfile, "{},{},{},{},{},{},{:3.6f},{:3.6f},{:f},0,{}\n", | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | dev->get_macaddr(), | ~~~~~~~~~~~~~~~~~~~ 313 | name, | ~~~~~ 314 | crypt, | ~~~~~~ 315 | ts.str(), | ~~~~~~~~~ 316 | (int) channel, | ~~~~~~~~~~~~~~ 317 | signal, | ~~~~~~~ 318 | gps->lat, gps->lon, gps->alt, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 319 | "WIFI"); | ~~~~~~~ fmt/core.h:3311:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>((* & args#0), (* & args#1), (* & args#2), (* & args#3), (* & args#4), (* & args#5), (* & args#6), (* & args#7), (* & args#8), (* & args#9))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from kis_mutex.h:36, from pcapng_stream_futurebuf.cc:21: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ kis_wiglecsvlogfile.cc:191:14: required from here 191 | lk.unlock(); | ~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ kis_wiglecsvlogfile.cc:191:14: required from here 191 | lk.unlock(); | ~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c kis_database.cc -o kis_database.cc.o fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c kismet_server.cc -o kismet_server.cc.o gcc -Wl,--as-needed,-O1,--sort-common -Wl,--as-needed,-O1,--sort-common -rdynamic -o kismet_cap_kismetdb capture_kismetdb.c.o libkismetdatasource.a -lpthread -lprotobuf-c -lm -lsqlite3 gcc -Wl,--as-needed,-O1,--sort-common -Wl,--as-needed,-O1,--sort-common -rdynamic -o kismet_cap_pcapfile capture_pcapfile.c.o libkismetdatasource.a -lpcap -lpthread -lprotobuf-c -lm (cd capture_linux_wifi && make) make[1]: Entering directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1/capture_linux_wifi' gcc -MM -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread ../interface_control.c | sed -e "s/\.o/\.c.o/" > ../interface_control.c.d gcc -MM -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread ../wifi_ht_channels.c | sed -e "s/\.o/\.c.o/" > ../wifi_ht_channels.c.d gcc -MM -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread linux_wireless_control.c | sed -e "s/\.o/\.c.o/" > linux_wireless_control.c.d gcc -MM -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread linux_netlink_control.c | sed -e "s/\.o/\.c.o/" > linux_netlink_control.c.d gcc -MM -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread linux_nexmon_control.c | sed -e "s/\.o/\.c.o/" > linux_nexmon_control.c.d gcc -MM -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread linux_wireless_rfkill.c | sed -e "s/\.o/\.c.o/" > linux_wireless_rfkill.c.d gcc -MM -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread capture_linux_wifi.c | sed -e "s/\.o/\.c.o/" > capture_linux_wifi.c.d gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c ../interface_control.c -o ../interface_control.c.o cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c ../wifi_ht_channels.c -o ../wifi_ht_channels.c.o gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c linux_wireless_control.c -o linux_wireless_control.c.o gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c linux_netlink_control.c -o linux_netlink_control.c.o gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c linux_nexmon_control.c -o linux_nexmon_control.c.o gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c linux_wireless_rfkill.c -o linux_wireless_rfkill.c.o gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c capture_linux_wifi.c -o capture_linux_wifi.c.o capture_linux_wifi.c: In function 'chancontrol_callback': capture_linux_wifi.c:1265:21: warning: variable 'check_r' set but not used [-Wunused-but-set-variable] 1265 | int check_r = 0; | ^~~~~~~ In file included from messagebus.h:32, from kis_database.cc:21: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from messagebus.h:29: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from globalregistry.h:29, from kis_database.h:32, from kis_database.cc:19: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ (cd capture_linux_bluetooth && make) make[1]: Entering directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1/capture_linux_bluetooth' gcc -MM -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread linux_bt_rfkill.c | sed -e "s/\.o/\.c.o/" > linux_bt_rfkill.c.d gcc -MM -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread capture_linux_bluetooth.c | sed -e "s/\.o/\.c.o/" > capture_linux_bluetooth.c.d gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c linux_bt_rfkill.c -o linux_bt_rfkill.c.o gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c capture_linux_bluetooth.c -o capture_linux_bluetooth.c.o (cd capture_nrf_51822 && make) make[1]: Entering directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1/capture_nrf_51822' gcc -MM -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread capture_nrf_51822.c | sed -e "s/\.o/\.c.o/" > capture_nrf_51822.c.d capture_linux_bluetooth.c: In function 'handle_mgmt_response': capture_linux_bluetooth.c:455:32: warning: unused variable 'cstat' [-Wunused-variable] 455 | struct mgmt_ev_cmd_status *cstat; | ^~~~~ gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c capture_nrf_51822.c -o capture_nrf_51822.c.o At top level: cc1: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics gcc -Wl,--as-needed,-O1,--sort-common -Wl,--as-needed,-O1,--sort-common -rdynamic -Wl,--as-needed,-O1,--sort-common -rdynamic -o kismet_cap_linux_wifi ../interface_control.c.o ../wifi_ht_channels.c.o linux_wireless_control.c.o linux_netlink_control.c.o linux_nexmon_control.c.o linux_wireless_rfkill.c.o capture_linux_wifi.c.o ../libkismetdatasource.a -lpcap -lnl-genl-3 -lnl-3 -lpthread -lprotobuf-c -lm make[1]: Leaving directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1/capture_linux_wifi' (cd capture_nxp_kw41z && make) make[1]: Entering directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1/capture_nxp_kw41z' gcc -MM -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread capture_nxp_kw41z.c | sed -e "s/\.o/\.c.o/" > capture_nxp_kw41z.c.d gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c capture_nxp_kw41z.c -o capture_nxp_kw41z.c.o gcc -Wl,--as-needed,-O1,--sort-common -Wl,--as-needed,-O1,--sort-common -rdynamic -Wl,--as-needed,-O1,--sort-common -rdynamic -o kismet_cap_nrf_51822 capture_nrf_51822.c.o ../libkismetdatasource.a -lpthread -lprotobuf-c -lm make[1]: Leaving directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1/capture_nrf_51822' (cd capture_nrf_52840 && make) make[1]: Entering directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1/capture_nrf_52840' gcc -MM -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread capture_nrf_52840.c | sed -e "s/\.o/\.c.o/" > capture_nrf_52840.c.d At top level: cc1: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c capture_nrf_52840.c -o capture_nrf_52840.c.o gcc -Wl,--as-needed,-O1,--sort-common -Wl,--as-needed,-O1,--sort-common -rdynamic -Wl,--as-needed,-O1,--sort-common -rdynamic -o kismet_cap_linux_bluetooth linux_bt_rfkill.c.o capture_linux_bluetooth.c.o ../libkismetdatasource.a -lpthread -lprotobuf-c -lm make[1]: Leaving directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1/capture_linux_bluetooth' g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c log_tools/kismetdb_to_wiglecsv.cc -o log_tools/kismetdb_to_wiglecsv.cc.o gcc -Wl,--as-needed,-O1,--sort-common -Wl,--as-needed,-O1,--sort-common -rdynamic -Wl,--as-needed,-O1,--sort-common -rdynamic -o kismet_cap_nxp_kw41z capture_nxp_kw41z.c.o ../libkismetdatasource.a -lpthread -lprotobuf-c -lm make[1]: Leaving directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1/capture_nxp_kw41z' g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c log_tools/kismetdb_dump_devices.cc -o log_tools/kismetdb_dump_devices.cc.o fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ gcc -Wl,--as-needed,-O1,--sort-common -Wl,--as-needed,-O1,--sort-common -rdynamic -Wl,--as-needed,-O1,--sort-common -rdynamic -o kismet_cap_nrf_52840 capture_nrf_52840.c.o ../libkismetdatasource.a -lpthread -lprotobuf-c -lm make[1]: Leaving directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1/capture_nrf_52840' g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c log_tools/kismetdb_statistics.cc -o log_tools/kismetdb_statistics.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c log_tools/kismetdb_to_kml.cc -o log_tools/kismetdb_to_kml.cc.o In file included from messagebus.h:32, from kismet_server.cc:51: timetracker.h:162:7: warning: 'class time_tracker_event' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 162 | class time_tracker_event { | ^~~~~~~~~~~~~~~~~~ In file included from trackedcomponent.h:36, from eventbus.h:55, from messagebus.h:29: trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:76:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': messagebus.h:77:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./boost/beast/core/error.hpp:85, from ./boost/beast/core/detail/bind_handler.hpp:13, from ./boost/beast/core/bind_handler.hpp:14, from ./boost/beast/core/async_base.hpp:14, from ./boost/beast/core.hpp:15, from boost/beast.hpp:15, from kis_net_beast_httpd.h:32, from kis_external.h:43, from plugintracker.h:107, from kismet_server.cc:53: ./boost/beast/core/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:20:7: warning: 'class boost::beast::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/core/impl/error.ipp:55:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 55 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/core/impl/error.ipp:55:7: warning: 'class boost::beast::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./boost/beast/http/error.hpp:173, from ./boost/beast/http/basic_dynamic_body.hpp:17, from ./boost/beast/http.hpp:15, from boost/beast.hpp:16: ./boost/beast/http/impl/error.ipp:21:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 21 | class http_error_category : public error_category | ^~~~~~~~~~~~~~~~~~~ ./boost/beast/http/impl/error.ipp:21:7: warning: 'class boost::beast::http::detail::http_error_category' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c log_tools/kismetdb_to_gpx.cc -o log_tools/kismetdb_to_gpx.cc.o In file included from ./fmt/format.h:48, from ./fmt/ostream.h:20, from ./fmt.h:23, from log_tools/kismetdb_to_wiglecsv.cc:46: ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./fmt/format.h:48, from ./fmt/ostream.h:20, from ./fmt.h:23, from log_tools/kismetdb_dump_devices.cc:39: ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'void fmt::v9::print(FILE*, format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >}; FILE = FILE; format_string = basic_format_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ log_tools/kismetdb_dump_devices.cc:296:23: required from here 296 | fmt::print(ofile, "{}", ss.str()); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3311:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>((* & args#0))' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedelement.h:972:11: required from 'std::string tracker_element_core_numeric::as_string() const [with N = unsigned char; tracker_type T = tracker_type::tracker_placeholder_missing; S = numerical_string; std::string = std::__cxx11::basic_string]' 972 | S s; | ^ trackedelement.h:971:25: required from here 971 | virtual std::string as_string() const override { | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from ./fmt/format.h:48, from ./fmt/ostream.h:20, from ./fmt.h:23, from log_tools/kismetdb_statistics.cc:41: ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/websocket/error.hpp:253, from ./boost/beast/websocket.hpp:15, from boost/beast.hpp:18: ./boost/beast/websocket/impl/error.ipp:20:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 20 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:20:7: warning: 'class boost::beast::websocket::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./boost/beast/websocket/impl/error.ipp:117:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 117 | class error_conditions : public error_category | ^~~~~~~~~~~~~~~~ ./boost/beast/websocket/impl/error.ipp:117:7: warning: 'class boost::beast::websocket::detail::error_conditions' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'void fmt::v9::print(format_string, T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ log_tools/kismetdb_statistics.cc:358:27: required from here 358 | fmt::print("{}", ti.first); | ~~~~~~~~~~^~~~~~~~~~~~~~~~ ./fmt/core.h:3294:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>((* & args#0))' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./boost/beast/zlib/error.hpp:148, from ./boost/beast/zlib/deflate_stream.hpp:14, from ./boost/beast/websocket/detail/impl_base.hpp:21, from ./boost/beast/websocket/stream.hpp:20, from ./boost/beast/websocket.hpp:18: ./boost/beast/zlib/impl/error.ipp:49:7: warning: base class 'class boost::system::error_category' has accessible non-virtual destructor [-Wnon-virtual-dtor] 49 | class error_codes : public error_category | ^~~~~~~~~~~ ./boost/beast/zlib/impl/error.ipp:49:7: warning: 'class boost::beast::zlib::detail::error_codes' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] In file included from ./fmt/format.h:48, from ./fmt/ostream.h:20, from ./fmt.h:23, from log_tools/kismetdb_to_kml.cc:46: ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ In file included from ./fmt/format.h:48, from ./fmt/ostream.h:20, from ./fmt.h:23, from log_tools/kismetdb_to_gpx.cc:45: ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedrrd.h:374:71: required from here 374 | register_field("kismet.common.rrd.blank_val", "blank value", &blank_val); | ^~~~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:77:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': trackedlocation.h:78:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class float_numerical_string': trackedlocation.h:268:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:1167:7: warning: 'class float_numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 1167 | class float_numerical_string { | ^~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': devicetracker_component.h:372:13: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from kismet_server.cc:64: datasourcetracker.h:77:7: warning: 'class datasource_tracker_worker' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 77 | class datasource_tracker_worker { | ^~~~~~~~~~~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': phy_80211_components.h:393:9: required from here 64 | f = tracker_element_clone_adaptor(b->f); \ | ^ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ trackedelement.h: In instantiation of 'class numerical_string': phy_80211_components.h:500:5: required from here 135 | if (cvar != nullptr) {\ | ^~~~~~~ trackedelement.h:924:7: warning: 'class numerical_string' has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor] 924 | class numerical_string { | ^~~~~~~~~~~~~~~~ In file included from kis_wiglecsvlogfile.h:28, from kismet_server.cc:94: phy_80211.h:393:7: warning: base class 'class time_tracker_event' has accessible non-virtual destructor [-Wnon-virtual-dtor] 393 | class kis_80211_phy : public kis_phy_handler, public time_tracker_event { | ^~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from kismet_server.cc:101: system_monitor.h:135:7: warning: base class 'class time_tracker_event' has accessible non-virtual destructor [-Wnon-virtual-dtor] 135 | class Systemmonitor : public lifetime_global, public time_tracker_event { | ^~~~~~~~~~~~~ In file included from fmt/format.h:48, from fmt/ostream.h:20, from fmt.h:23, from util.h:62, from kismet_server.cc:46: fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ datasourcetracker.h:504:9: required from here 504 | _MSG(fmt::format("(Remote) - {}", msg), msgtype); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = mac_addr&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = mac_addr&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, unsigned char&, unsigned int&, double&, mac_addr&, mac_addr&, mac_addr&, mac_addr&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, unsigned char, unsigned int, double, mac_addr, mac_addr, mac_addr, mac_addr, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ alertracker.h:232:46: required from here 232 | set_hash(adler32_checksum(fmt::format("{} {} {} {} {} {} {} {} {}", | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 233 | get_header(), get_severity(), get_phy(), get_timestamp(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 234 | get_transmitter_mac(), get_source_mac(), get_dest_mac(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 235 | get_other_mac(), get_channel()))); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((unsigned char&)args#1), ((unsigned int&)args#2), ((double&)args#3), ((mac_addr&)args#4), ((mac_addr&)args#5), ((mac_addr&)args#6), ((mac_addr&)args#7), ((std::__cxx11::basic_string&)args#8))' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::thread::id&]': fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::custom_type; T = std::thread::id&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::thread::id&, const std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::thread::id, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::thread::id, const std::__cxx11::basic_string, std::allocator >&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ kis_mutex.h:263:49: required from 'void kis_unique_lock::unlock() [with M = kis_mutex]' 263 | throw std::runtime_error(fmt::format("unvalid use: thread{} attempted to unlock " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | "unique lock {} when not locked", std::this_thread::get_id(), | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | mutex.get_name())); | ~~~~~~~~~~~~~~~~~ globalregistry.h:361:22: required from 'std::shared_ptr<_Tp> Globalreg::new_from_pool(std::function()>) [with T = tracker_element_alias]' 361 | lk.unlock(); | ~~~~~~~~~^~ trackedelement.h:418:50: required from here 418 | auto r = Globalreg::new_from_pool(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::thread::id&)args#0), args#1)' fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c log_tools/kismetdb_clean.cc -o log_tools/kismetdb_clean.cc.o In file included from ./fmt/format.h:48, from ./fmt/ostream.h:20, from ./fmt.h:23, from log_tools/kismetdb_clean.cc:41: ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c log_tools/kismetdb_to_pcap.cc -o log_tools/kismetdb_to_pcap.cc.o cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics In file included from ./fmt/format.h:48, from ./fmt/ostream.h:20, from ./fmt.h:23, from log_tools/kismetdb_to_pcap.cc:46: ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = fmt::v9::basic_string_view&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = fmt::v9::basic_string_view&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {fmt::v9::basic_string_view&, const char (&)[3]}; Context = fmt::v9::basic_format_context; Args = {fmt::v9::basic_string_view, char [3]}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'OutputIt fmt::v9::format_to(OutputIt, format_string, T&& ...) [with OutputIt = appender; T = {basic_string_view&, const char (&)[3]}; typename std::enable_if::value, int>::type = 0; format_string = basic_format_string&, const char (&)[3]>]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./fmt/format-inl.h:65:14: required from here 65 | format_to(it, FMT_STRING("{}{}"), message, SEP); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3235:52: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, args#1)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const fmt::v9::basic_string_view*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {std::__cxx11::basic_string, std::allocator >, std::__cxx11::basic_string, std::allocator >}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >, std::__cxx11::basic_string, std::allocator > >]' 1918 | return {FMT_FORWARD(args)...}; | ^ ./macaddr.h:473:27: required from here 473 | return fmt::format("{}/{}", mac_to_string(), mac_mask_to_string()); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(((std::__cxx11::basic_string&)args#0), ((std::__cxx11::basic_string&)args#1))' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((*(const std::__cxx11::basic_string*)(& val)))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ ./fmt/core.h: In instantiation of 'constexpr fmt::v9::detail::value fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context; T = const std::__cxx11::basic_string&]': ./fmt/core.h:1777:29: required from 'constexpr fmt::v9::detail::value fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context; type = fmt::v9::detail::type::string_type; T = const std::__cxx11::basic_string&; typename std::enable_if::type = 0]' 1777 | return make_value(val); | ~~~~~~~~~~~~~~~~~~~^~~~~ ./fmt/core.h:1901:77: required from 'constexpr fmt::v9::format_arg_store::format_arg_store(T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&, char*&, int&}; Context = fmt::v9::basic_format_context; Args = {std::__cxx11::basic_string, std::allocator >, char*, int}]' 1899 | data_{detail::make_arg< | ~~~~~~~~~~~~~~~~~ 1900 | is_packed, Context, | ~~~~~~~~~~~~~~~~~~~ 1901 | detail::mapped_type_constant, Context>::value>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1902 | FMT_FORWARD(args))...} { | ~~~~~~~~~~~~~~~~~~ ./fmt/core.h:1918:31: required from 'std::string fmt::v9::format(format_string, T&& ...) [with T = {const std::__cxx11::basic_string, std::allocator >&, char*, int&}; std::string = std::__cxx11::basic_string; format_string = basic_format_string, std::allocator >&, char*, int&>]' 1918 | return {FMT_FORWARD(args)...}; | ^ log_tools/kismetdb_to_pcap.cc:183:53: required from here 183 | throw std::runtime_error(fmt::format("Unexpected problem opening output " | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 184 | "file '{}': {} (errno {})", path, strerror(errno), errno)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./fmt/core.h:3206:44: in 'constexpr' expansion of 'fmt::v9::make_format_args<>(args#0, ((char*&)args#1), args#2)' ./fmt/core.h:1735:15: warning: possibly dangling reference to a temporary [-Wdangling-reference] 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ^~~ ./fmt/core.h:1735:46: note: the temporary was destroyed at the end of the full expression 'fmt::v9::detail::arg_mapper >().fmt::v9::detail::arg_mapper >::map >((* & val))' 1735 | const auto& arg = arg_mapper().map(FMT_FORWARD(val)); | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c tools/kismet_discovery.cc -o tools/kismet_discovery.cc.o g++ -std=gnu++17 -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -Wall -Wno-unknown-warning-option -Wno-deprecated-declarations -Wno-format-truncation -Wno-unused-local-typedefs -Wno-unused-function -Wno-infinite-recursion -g -I. -fPIE -Os -fstack-clash-protection -Wformat -Werror=format-security -D_GLIBCXX_ASSERTIONS=1 -D_LIBCPP_ENABLE_THREAD_SAFETY_ANNOTATIONS=1 -D_LIBCPP_ENABLE_HARDENED_MODE=1 -O3 -DPROTOBUF_USE_DLLS -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -Wnon-virtual-dtor -DNOMINMAX -DKS_STR_ENCODING_NONE -c protobuf_cpp/datasource.pb.cc -o protobuf_cpp/datasource.pb.cc.o cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Wl,--as-needed,-O1,--sort-common -Wl,--as-needed,-O1,--sort-common -rdynamic -o tools/kismet_discovery tools/kismet_discovery.cc.o version.c.o -ldl -lz -latomic -lpcre2-8 -lsqlite3 -lstdc++ -rdynamic cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Wl,--as-needed,-O1,--sort-common -Wl,--as-needed,-O1,--sort-common -rdynamic -o log_tools/kismetdb_dump_devices log_tools/kismetdb_dump_devices.cc.o sqlite3_cpp11.cc.o -ldl -lz -latomic -lpcre2-8 -lsqlite3 -lstdc++ -rdynamic cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Wl,--as-needed,-O1,--sort-common -Wl,--as-needed,-O1,--sort-common -rdynamic -o log_tools/kismetdb_to_wiglecsv log_tools/kismetdb_to_wiglecsv.cc.o sqlite3_cpp11.cc.o -ldl -lz -latomic -lpcre2-8 -lsqlite3 -lstdc++ -rdynamic g++ -std=gnu++17 -Wl,--as-needed,-O1,--sort-common -Wl,--as-needed,-O1,--sort-common -rdynamic -o log_tools/kismetdb_clean log_tools/kismetdb_clean.cc.o sqlite3_cpp11.cc.o -ldl -lz -latomic -lpcre2-8 -lsqlite3 -lstdc++ -rdynamic g++ -std=gnu++17 -Wl,--as-needed,-O1,--sort-common -Wl,--as-needed,-O1,--sort-common -rdynamic -o log_tools/kismetdb_statistics log_tools/kismetdb_statistics.cc.o sqlite3_cpp11.cc.o -ldl -lz -latomic -lpcre2-8 -lsqlite3 -lstdc++ -rdynamic cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Wl,--as-needed,-O1,--sort-common -Wl,--as-needed,-O1,--sort-common -rdynamic -o log_tools/kismetdb_to_gpx log_tools/kismetdb_to_gpx.cc.o sqlite3_cpp11.cc.o -ldl -lz -latomic -lpcre2-8 -lsqlite3 -lstdc++ -rdynamic cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Wl,--as-needed,-O1,--sort-common -Wl,--as-needed,-O1,--sort-common -rdynamic -o log_tools/kismetdb_to_kml log_tools/kismetdb_to_kml.cc.o sqlite3_cpp11.cc.o -ldl -lz -latomic -lpcre2-8 -lsqlite3 -lstdc++ -rdynamic g++ -std=gnu++17 -Wl,--as-needed,-O1,--sort-common -Wl,--as-needed,-O1,--sort-common -rdynamic -o log_tools/kismetdb_to_pcap log_tools/kismetdb_to_pcap.cc.o sqlite3_cpp11.cc.o version.c.o -ldl -lz -latomic -lpcre2-8 -lsqlite3 -lstdc++ -lpcap -rdynamic cc1plus: note: unrecognized command-line option '-Wno-unknown-warning-option' may have been intended to silence earlier diagnostics g++ -std=gnu++17 -Wl,--as-needed,-O1,--sort-common -Wl,--as-needed,-O1,--sort-common -rdynamic -o kismet util.cc.o crc32.cc.o macaddr.cc.o uuid.cc.o xxhash.cc.o boost_like_hash.cc.o sqlite3_cpp11.cc.o globalregistry.cc.o eventbus.cc.o packet.cc.o configfile.cc.o battery.cc.o ipctracker_v2.cc.o protobuf_cpp/kismet.pb.cc.o protobuf_cpp/http.pb.cc.o protobuf_cpp/datasource.pb.cc.o protobuf_cpp/linuxbluetooth.pb.cc.o protobuf_cpp/eventbus.pb.cc.o kis_external.cc.o dlttracker.cc.o antennatracker.cc.o datasourcetracker.cc.o kis_datasource.cc.o datasource_linux_bluetooth.cc.o datasource_rtl433.cc.o datasource_rtlamr.cc.o datasource_rtladsb.cc.o datasource_ti_cc_2540.cc.o datasource_ti_cc_2531.cc.o datasource_ubertooth_one.cc.o datasource_nrf_51822.cc.o datasource_nxp_kw41z.cc.o datasource_nrf_52840.cc.o datasource_rz_killerbee.cc.o datasource_scan.cc.o datasource_bt_geiger.cc.o kis_net_beast_httpd.cc.o kis_httpd_registry.cc.o system_monitor.cc.o base64.cc.o gpstracker.cc.o kis_gps.cc.o gpsnmea_v2.cc.o gpsserial_v3.cc.o gpstcp_v2.cc.o gpsgpsd_v3.cc.o gpsfake.cc.o gpsweb.cc.o gpsmeta.cc.o packetchain.cc.o packet_filter.cc.o class_filter.cc.o trackedelement.cc.o trackedelement_workers.cc.o trackedcomponent.cc.o entrytracker.cc.o trackedlocation.cc.o devicetracker_component.cc.o devicetracker_view.cc.o devicetracker_view_workers.cc.o kis_server_announce.cc.o json_adapter.cc.o plugintracker.cc.o alertracker.cc.o timetracker.cc.o channeltracker2.cc.o devicetracker.cc.o devicetracker_httpd.cc.o kis_dlt.cc.o kis_dlt_ppi.cc.o kis_dlt_radiotap.cc.o kis_dlt_btle_radio.cc.o kaitaistream.cc.o dot11_parsers/dot11_ie.cc.o dot11_parsers/dot11_ie_7_country.cc.o dot11_parsers/dot11_ie_11_qbss.cc.o dot11_parsers/dot11_ie_33_power.cc.o dot11_parsers/dot11_ie_36_supported_channels.cc.o dot11_parsers/dot11_ie_45_ht_cap.cc.o dot11_parsers/dot11_ie_48_rsn.cc.o dot11_parsers/dot11_ie_52_rmm_neighbor.cc.o dot11_parsers/dot11_ie_54_mobility.cc.o dot11_parsers/dot11_ie_55_fastbss.cc.o dot11_parsers/dot11_ie_61_ht_op.cc.o dot11_parsers/dot11_ie_70_rm_capabilities.cc.o dot11_parsers/dot11_ie_113_mesh_config.cc.o dot11_parsers/dot11_ie_133_cisco_ccx.cc.o dot11_parsers/dot11_ie_150_vendor.cc.o dot11_parsers/dot11_ie_150_cisco_powerlevel.cc.o dot11_parsers/dot11_ie_191_vht_cap.cc.o dot11_parsers/dot11_ie_192_vht_op.cc.o dot11_parsers/dot11_ie_127_extended_capabilities.cc.o dot11_parsers/dot11_ie_221_vendor.cc.o dot11_parsers/dot11_ie_221_ms_wps.cc.o dot11_parsers/dot11_ie_221_ms_wmm.cc.o dot11_parsers/dot11_ie_221_dji_droneid.cc.o dot11_parsers/dot11_ie_221_wfa_wpa.cc.o dot11_parsers/dot11_ie_221_cisco_client_mfp.cc.o dot11_parsers/dot11_ie_221_wpa_transition.cc.o dot11_parsers/dot11_ie_221_rsn_pmkid.cc.o dot11_parsers/dot11_ie_221_wfa.cc.o dot11_parsers/dot11_ie_255_ext_tag.cc.o dot11_parsers/dot11_action.cc.o dot11_parsers/dot11_wpa_eap.cc.o dot11_parsers/dot11_p2p_ie.cc.o bluetooth_parsers/btle.cc.o phy_80211.cc.o phy_80211_components.cc.o phy_80211_dissectors.cc.o phy_sensor.cc.o phy_meter.cc.o phy_adsb.cc.o phy_zwave.cc.o phy_bluetooth.cc.o phy_uav_drone.cc.o phy_nrf_mousejack.cc.o phy_btle.cc.o phy_802154.cc.o phy_80211_ssidtracker.cc.o phy_radiation.cc.o kis_dissector_ipdata.cc.o manuf.cc.o bluetooth_ids.cc.o adsb_icao.cc.o logtracker.cc.o kis_ppilogfile.cc.o kis_databaselogfile.cc.o kis_pcapnglogfile.cc.o kis_wiglecsvlogfile.cc.o messagebus_restclient.cc.o streamtracker.cc.o pcapng_stream_futurebuf.cc.o kis_database.cc.o kismet_server.cc.o version.c.o -ldl -lz -latomic -lpcre2-8 -lsqlite3 -lstdc++ -lpcap -lpthread -lprotobuf -labsl_log_internal_check_op -labsl_leak_check -labsl_die_if_null -labsl_log_internal_conditions -labsl_log_internal_message -labsl_examine_stack -labsl_log_internal_format -labsl_log_internal_proto -labsl_log_internal_nullguard -labsl_log_internal_log_sink_set -labsl_log_sink -labsl_log_entry -labsl_flags_internal -labsl_flags_marshalling -labsl_flags_reflection -labsl_flags_private_handle_accessor -labsl_flags_commandlineflag -labsl_flags_commandlineflag_internal -labsl_flags_config -labsl_flags_program_name -labsl_log_initialize -labsl_log_globals -labsl_vlog_config_internal -labsl_log_internal_fnmatch -labsl_log_internal_globals -labsl_raw_hash_set -labsl_hash -labsl_city -labsl_low_level_hash -labsl_hashtablez_sampler -labsl_statusor -labsl_status -labsl_cord -labsl_cordz_info -labsl_cord_internal -labsl_cordz_functions -labsl_exponential_biased -labsl_cordz_handle -labsl_crc_cord_state -labsl_crc32c -labsl_crc_internal -labsl_crc_cpu_detect -labsl_bad_optional_access -labsl_strerror -labsl_str_format_internal -labsl_synchronization -labsl_graphcycles_internal -labsl_kernel_timeout_internal -labsl_stacktrace -labsl_symbolize -labsl_debugging_internal -labsl_demangle_internal -labsl_demangle_rust -labsl_decode_rust_punycode -labsl_utf8_for_code_point -labsl_malloc_internal -labsl_time -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_string_view -labsl_base -lrt -labsl_spinlock_wait -labsl_int128 -labsl_throw_delegate -labsl_time_zone -labsl_bad_variant_access -labsl_raw_logging_internal -labsl_log_severity -lssl -lcrypto -rdynamic >>> kismet: Entering fakeroot... make[1]: Entering directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1' (cd capture_linux_wifi && make) (cd capture_linux_bluetooth && make) (cd capture_nrf_51822 && make) (cd capture_nxp_kw41z && make) (cd capture_nrf_52840 && make) gcc -MM -MP -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -MT version.c.o version.c -MF version.c.d make[2]: Entering directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1/capture_nrf_51822' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1/capture_nrf_51822' make[2]: Entering directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1/capture_linux_bluetooth' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1/capture_linux_bluetooth' make[2]: Entering directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1/capture_nrf_52840' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1/capture_nrf_52840' make[2]: Entering directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1/capture_nxp_kw41z' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1/capture_nxp_kw41z' make[2]: Entering directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1/capture_linux_wifi' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1/capture_linux_wifi' gcc -Os -fstack-clash-protection -Wformat -Werror=format-security -Wall -Wno-unknown-warning-option -Wno-format-truncation -Wno-unused-function -g -I. -fPIE -I/usr/include/libnl3 -pthread -c version.c -o version.c.o g++ -std=gnu++17 -Wl,--as-needed,-O1,--sort-common -Wl,--as-needed,-O1,--sort-common -rdynamic -o log_tools/kismetdb_to_pcap log_tools/kismetdb_to_pcap.cc.o sqlite3_cpp11.cc.o version.c.o -ldl -lz -latomic -lpcre2-8 -lsqlite3 -lstdc++ -lpcap -rdynamic g++ -std=gnu++17 -Wl,--as-needed,-O1,--sort-common -Wl,--as-needed,-O1,--sort-common -rdynamic -o tools/kismet_discovery tools/kismet_discovery.cc.o version.c.o -ldl -lz -latomic -lpcre2-8 -lsqlite3 -lstdc++ -rdynamic g++ -std=gnu++17 -Wl,--as-needed,-O1,--sort-common -Wl,--as-needed,-O1,--sort-common -rdynamic -o kismet util.cc.o crc32.cc.o macaddr.cc.o uuid.cc.o xxhash.cc.o boost_like_hash.cc.o sqlite3_cpp11.cc.o globalregistry.cc.o eventbus.cc.o packet.cc.o configfile.cc.o battery.cc.o ipctracker_v2.cc.o protobuf_cpp/kismet.pb.cc.o protobuf_cpp/http.pb.cc.o protobuf_cpp/datasource.pb.cc.o protobuf_cpp/linuxbluetooth.pb.cc.o protobuf_cpp/eventbus.pb.cc.o kis_external.cc.o dlttracker.cc.o antennatracker.cc.o datasourcetracker.cc.o kis_datasource.cc.o datasource_linux_bluetooth.cc.o datasource_rtl433.cc.o datasource_rtlamr.cc.o datasource_rtladsb.cc.o datasource_ti_cc_2540.cc.o datasource_ti_cc_2531.cc.o datasource_ubertooth_one.cc.o datasource_nrf_51822.cc.o datasource_nxp_kw41z.cc.o datasource_nrf_52840.cc.o datasource_rz_killerbee.cc.o datasource_scan.cc.o datasource_bt_geiger.cc.o kis_net_beast_httpd.cc.o kis_httpd_registry.cc.o system_monitor.cc.o base64.cc.o gpstracker.cc.o kis_gps.cc.o gpsnmea_v2.cc.o gpsserial_v3.cc.o gpstcp_v2.cc.o gpsgpsd_v3.cc.o gpsfake.cc.o gpsweb.cc.o gpsmeta.cc.o packetchain.cc.o packet_filter.cc.o class_filter.cc.o trackedelement.cc.o trackedelement_workers.cc.o trackedcomponent.cc.o entrytracker.cc.o trackedlocation.cc.o devicetracker_component.cc.o devicetracker_view.cc.o devicetracker_view_workers.cc.o kis_server_announce.cc.o json_adapter.cc.o plugintracker.cc.o alertracker.cc.o timetracker.cc.o channeltracker2.cc.o devicetracker.cc.o devicetracker_httpd.cc.o kis_dlt.cc.o kis_dlt_ppi.cc.o kis_dlt_radiotap.cc.o kis_dlt_btle_radio.cc.o kaitaistream.cc.o dot11_parsers/dot11_ie.cc.o dot11_parsers/dot11_ie_7_country.cc.o dot11_parsers/dot11_ie_11_qbss.cc.o dot11_parsers/dot11_ie_33_power.cc.o dot11_parsers/dot11_ie_36_supported_channels.cc.o dot11_parsers/dot11_ie_45_ht_cap.cc.o dot11_parsers/dot11_ie_48_rsn.cc.o dot11_parsers/dot11_ie_52_rmm_neighbor.cc.o dot11_parsers/dot11_ie_54_mobility.cc.o dot11_parsers/dot11_ie_55_fastbss.cc.o dot11_parsers/dot11_ie_61_ht_op.cc.o dot11_parsers/dot11_ie_70_rm_capabilities.cc.o dot11_parsers/dot11_ie_113_mesh_config.cc.o dot11_parsers/dot11_ie_133_cisco_ccx.cc.o dot11_parsers/dot11_ie_150_vendor.cc.o dot11_parsers/dot11_ie_150_cisco_powerlevel.cc.o dot11_parsers/dot11_ie_191_vht_cap.cc.o dot11_parsers/dot11_ie_192_vht_op.cc.o dot11_parsers/dot11_ie_127_extended_capabilities.cc.o dot11_parsers/dot11_ie_221_vendor.cc.o dot11_parsers/dot11_ie_221_ms_wps.cc.o dot11_parsers/dot11_ie_221_ms_wmm.cc.o dot11_parsers/dot11_ie_221_dji_droneid.cc.o dot11_parsers/dot11_ie_221_wfa_wpa.cc.o dot11_parsers/dot11_ie_221_cisco_client_mfp.cc.o dot11_parsers/dot11_ie_221_wpa_transition.cc.o dot11_parsers/dot11_ie_221_rsn_pmkid.cc.o dot11_parsers/dot11_ie_221_wfa.cc.o dot11_parsers/dot11_ie_255_ext_tag.cc.o dot11_parsers/dot11_action.cc.o dot11_parsers/dot11_wpa_eap.cc.o dot11_parsers/dot11_p2p_ie.cc.o bluetooth_parsers/btle.cc.o phy_80211.cc.o phy_80211_components.cc.o phy_80211_dissectors.cc.o phy_sensor.cc.o phy_meter.cc.o phy_adsb.cc.o phy_zwave.cc.o phy_bluetooth.cc.o phy_uav_drone.cc.o phy_nrf_mousejack.cc.o phy_btle.cc.o phy_802154.cc.o phy_80211_ssidtracker.cc.o phy_radiation.cc.o kis_dissector_ipdata.cc.o manuf.cc.o bluetooth_ids.cc.o adsb_icao.cc.o logtracker.cc.o kis_ppilogfile.cc.o kis_databaselogfile.cc.o kis_pcapnglogfile.cc.o kis_wiglecsvlogfile.cc.o messagebus_restclient.cc.o streamtracker.cc.o pcapng_stream_futurebuf.cc.o kis_database.cc.o kismet_server.cc.o version.c.o -ldl -lz -latomic -lpcre2-8 -lsqlite3 -lstdc++ -lpcap -lpthread -lprotobuf -labsl_log_internal_check_op -labsl_leak_check -labsl_die_if_null -labsl_log_internal_conditions -labsl_log_internal_message -labsl_examine_stack -labsl_log_internal_format -labsl_log_internal_proto -labsl_log_internal_nullguard -labsl_log_internal_log_sink_set -labsl_log_sink -labsl_log_entry -labsl_flags_internal -labsl_flags_marshalling -labsl_flags_reflection -labsl_flags_private_handle_accessor -labsl_flags_commandlineflag -labsl_flags_commandlineflag_internal -labsl_flags_config -labsl_flags_program_name -labsl_log_initialize -labsl_log_globals -labsl_vlog_config_internal -labsl_log_internal_fnmatch -labsl_log_internal_globals -labsl_raw_hash_set -labsl_hash -labsl_city -labsl_low_level_hash -labsl_hashtablez_sampler -labsl_statusor -labsl_status -labsl_cord -labsl_cordz_info -labsl_cord_internal -labsl_cordz_functions -labsl_exponential_biased -labsl_cordz_handle -labsl_crc_cord_state -labsl_crc32c -labsl_crc_internal -labsl_crc_cpu_detect -labsl_bad_optional_access -labsl_strerror -labsl_str_format_internal -labsl_synchronization -labsl_graphcycles_internal -labsl_kernel_timeout_internal -labsl_stacktrace -labsl_symbolize -labsl_debugging_internal -labsl_demangle_internal -labsl_demangle_rust -labsl_decode_rust_punycode -labsl_utf8_for_code_point -labsl_malloc_internal -labsl_time -labsl_civil_time -labsl_strings -labsl_strings_internal -labsl_string_view -labsl_base -lrt -labsl_spinlock_wait -labsl_int128 -labsl_throw_delegate -labsl_time_zone -labsl_bad_variant_access -labsl_raw_logging_internal -labsl_log_severity -lssl -lcrypto -rdynamic mkdir -p /home/buildozer/aports/testing/kismet/pkg/kismet/etc/kismet mkdir -p /home/buildozer/aports/testing/kismet/pkg/kismet/usr/bin /usr/bin/install -c -o "root" -g "root" -m 555 kismet /home/buildozer/aports/testing/kismet/pkg/kismet/usr/bin/kismet; # Install the alias script /usr/bin/install -c -o "root" -g "root" -m 555 kismet_server /home/buildozer/aports/testing/kismet/pkg/kismet/usr/bin/kismet_server; # Install the compiled log tools /usr/bin/install -c -o "root" -g "root" -m 555 log_tools/kismetdb_strip_packets /home/buildozer/aports/testing/kismet/pkg/kismet/usr/bin/`basename log_tools/kismetdb_strip_packets`; /usr/bin/install -c -o "root" -g "root" -m 555 log_tools/kismetdb_dump_devices /home/buildozer/aports/testing/kismet/pkg/kismet/usr/bin/`basename log_tools/kismetdb_dump_devices`; /usr/bin/install -c -o "root" -g "root" -m 555 log_tools/kismetdb_to_wiglecsv /home/buildozer/aports/testing/kismet/pkg/kismet/usr/bin/`basename log_tools/kismetdb_to_wiglecsv`; /usr/bin/install -c -o "root" -g "root" -m 555 log_tools/kismetdb_statistics /home/buildozer/aports/testing/kismet/pkg/kismet/usr/bin/`basename log_tools/kismetdb_statistics`; /usr/bin/install -c -o "root" -g "root" -m 555 log_tools/kismetdb_to_kml /home/buildozer/aports/testing/kismet/pkg/kismet/usr/bin/`basename log_tools/kismetdb_to_kml`; /usr/bin/install -c -o "root" -g "root" -m 555 log_tools/kismetdb_to_gpx /home/buildozer/aports/testing/kismet/pkg/kismet/usr/bin/`basename log_tools/kismetdb_to_gpx`; /usr/bin/install -c -o "root" -g "root" -m 555 log_tools/kismetdb_clean /home/buildozer/aports/testing/kismet/pkg/kismet/usr/bin/`basename log_tools/kismetdb_clean`; /usr/bin/install -c -o "root" -g "root" -m 555 log_tools/kismetdb_to_pcap /home/buildozer/aports/testing/kismet/pkg/kismet/usr/bin/`basename log_tools/kismetdb_to_pcap`; # Install the other tools /usr/bin/install -c -o "root" -g "root" -m 555 tools/kismet_discovery /home/buildozer/aports/testing/kismet/pkg/kismet/usr/bin/`basename tools/kismet_discovery`; mkdir -p /home/buildozer/aports/testing/kismet/pkg/kismet/usr/bin mkdir -p /home/buildozer/aports/testing/kismet/pkg/kismet/usr/lib/pkgconfig /usr/bin/install -c -o "root" -g "root" -m 644 packaging/kismet.pc /home/buildozer/aports/testing/kismet/pkg/kismet/usr/lib/pkgconfig/kismet.pc mkdir -p /home/buildozer/aports/testing/kismet/pkg/kismet/usr/share/kismet/httpd/ cp -r http_data/* /home/buildozer/aports/testing/kismet/pkg/kismet/usr/share/kismet/httpd/ cp conf/kismet_manuf.txt.gz /home/buildozer/aports/testing/kismet/pkg/kismet/usr/share/kismet//kismet_manuf.txt.gz cp conf/kismet_adsb_icao.txt.gz /home/buildozer/aports/testing/kismet/pkg/kismet/usr/share/kismet//kismet_adsb_icao.txt.gz make[1]: Leaving directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1' make[1]: Entering directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1' install -o root -g root -m 644 conf/kismet.conf /home/buildozer/aports/testing/kismet/pkg/kismet/etc/kismet/kismet.conf install -o root -g root -m 644 conf/kismet_httpd.conf /home/buildozer/aports/testing/kismet/pkg/kismet/etc/kismet/kismet_httpd.conf install -o root -g root -m 644 conf/kismet_memory.conf /home/buildozer/aports/testing/kismet/pkg/kismet/etc/kismet/kismet_memory.conf install -o root -g root -m 644 conf/kismet_alerts.conf /home/buildozer/aports/testing/kismet/pkg/kismet/etc/kismet/kismet_alerts.conf install -o root -g root -m 644 conf/kismet_logging.conf /home/buildozer/aports/testing/kismet/pkg/kismet/etc/kismet/kismet_logging.conf install -o root -g root -m 644 conf/kismet_filter.conf /home/buildozer/aports/testing/kismet/pkg/kismet/etc/kismet/kismet_filter.conf install -o root -g root -m 644 conf/kismet_uav.conf /home/buildozer/aports/testing/kismet/pkg/kismet/etc/kismet/kismet_uav.conf install -o root -g root -m 644 conf/kismet_80211.conf /home/buildozer/aports/testing/kismet/pkg/kismet/etc/kismet/kismet_80211.conf install -o root -g root -m 644 conf/kismet_wardrive.conf /home/buildozer/aports/testing/kismet/pkg/kismet/etc/kismet/kismet_wardrive.conf Existing config files have not been replaced; if the Kismet configuration files have changed, you will need to manually reconcile the differences in the config files! You can replace all config files with: make forceconfigs You can simplify future configuration changes by using the kismet_site.conf config file, for more info see the docs at: https://www.kismetwireless.net/docs/readme/config_files/ make[1]: Leaving directory '/home/buildozer/aports/testing/kismet/src/kismet-2023-07-R1' Installed kismet into /home/buildozer/aports/testing/kismet/pkg/kismet/usr/bin/. If you have not done so already, read the README file and the FAQ file. Additional documentation is in the docs/ directory. You MUST edit /home/buildozer/aports/testing/kismet/pkg/kismet/etc/kismet/kismet.conf and configure Kismet for your system, or it will NOT run properly! Kismet has NOT been installed suid-root. This means you will need to start it as root. If you add your user to the kismet group and install Kismet with 'make suidinstall', users in that group will be able to run Kismet directly. READ THE KISMET DOCUMENTATION ABOUT THE KISMET SECURITY MODEL TO DECIDE IF YOU WANT TO INSTALL IT SUID-ROOT It is generally *MORE SECURE* to install Kismet with the suid-root option. If you have installed Kismet in the past, you may need to UPDATE YOUR CONFIG FILES or Kismet may not work properly! You can manually reconcile differences or you can replace the previously installed config files entirely by running make forceconfigs >>> kismet-logtools*: Running split function logtools... 'usr/bin/kismetdb_clean' -> '/home/buildozer/aports/testing/kismet/pkg/kismet-logtools/usr/bin/kismetdb_clean' 'usr/bin/kismetdb_dump_devices' -> '/home/buildozer/aports/testing/kismet/pkg/kismet-logtools/usr/bin/kismetdb_dump_devices' 'usr/bin/kismetdb_statistics' -> '/home/buildozer/aports/testing/kismet/pkg/kismet-logtools/usr/bin/kismetdb_statistics' 'usr/bin/kismetdb_strip_packets' -> '/home/buildozer/aports/testing/kismet/pkg/kismet-logtools/usr/bin/kismetdb_strip_packets' 'usr/bin/kismetdb_to_gpx' -> '/home/buildozer/aports/testing/kismet/pkg/kismet-logtools/usr/bin/kismetdb_to_gpx' 'usr/bin/kismetdb_to_kml' -> '/home/buildozer/aports/testing/kismet/pkg/kismet-logtools/usr/bin/kismetdb_to_kml' 'usr/bin/kismetdb_to_pcap' -> '/home/buildozer/aports/testing/kismet/pkg/kismet-logtools/usr/bin/kismetdb_to_pcap' 'usr/bin/kismetdb_to_wiglecsv' -> '/home/buildozer/aports/testing/kismet/pkg/kismet-logtools/usr/bin/kismetdb_to_wiglecsv' >>> kismet-logtools*: Preparing subpackage kismet-logtools... >>> kismet-logtools*: Stripping binaries >>> kismet-logtools*: Running postcheck for kismet-logtools >>> kismet-linux-bluetooth*: Running split function linux_bluetooth... 'usr/bin/kismet_cap_linux_bluetooth' -> '/home/buildozer/aports/testing/kismet/pkg/kismet-linux-bluetooth/usr/bin/kismet_cap_linux_bluetooth' >>> kismet-linux-bluetooth*: Preparing subpackage kismet-linux-bluetooth... >>> kismet-linux-bluetooth*: Stripping binaries >>> kismet-linux-bluetooth*: Running postcheck for kismet-linux-bluetooth >>> kismet-linux-wifi*: Running split function linux_wifi... 'usr/bin/kismet_cap_linux_wifi' -> '/home/buildozer/aports/testing/kismet/pkg/kismet-linux-wifi/usr/bin/kismet_cap_linux_wifi' >>> kismet-linux-wifi*: Preparing subpackage kismet-linux-wifi... >>> kismet-linux-wifi*: Stripping binaries >>> kismet-linux-wifi*: Running postcheck for kismet-linux-wifi >>> kismet-nrf-51822*: Running split function nrf_51822... 'usr/bin/kismet_cap_nrf_51822' -> '/home/buildozer/aports/testing/kismet/pkg/kismet-nrf-51822/usr/bin/kismet_cap_nrf_51822' >>> kismet-nrf-51822*: Preparing subpackage kismet-nrf-51822... >>> kismet-nrf-51822*: Stripping binaries >>> kismet-nrf-51822*: Running postcheck for kismet-nrf-51822 >>> kismet-nxp-kw41z*: Running split function nxp_kw41z... 'usr/bin/kismet_cap_nxp_kw41z' -> '/home/buildozer/aports/testing/kismet/pkg/kismet-nxp-kw41z/usr/bin/kismet_cap_nxp_kw41z' >>> kismet-nxp-kw41z*: Preparing subpackage kismet-nxp-kw41z... >>> kismet-nxp-kw41z*: Stripping binaries >>> kismet-nxp-kw41z*: Running postcheck for kismet-nxp-kw41z >>> kismet*: Running postcheck for kismet >>> kismet*: Preparing package kismet... >>> kismet*: Stripping binaries >>> kismet-linux-bluetooth*: Scanning shared objects >>> kismet-linux-wifi*: Scanning shared objects >>> kismet-logtools*: Scanning shared objects >>> kismet-nrf-51822*: Scanning shared objects >>> kismet-nxp-kw41z*: Scanning shared objects >>> kismet*: Scanning shared objects >>> kismet-linux-bluetooth*: Tracing dependencies... kismet=0.202307.1-r4 so:libc.musl-loongarch64.so.1 so:libprotobuf-c.so.1 >>> kismet-linux-bluetooth*: Package size: 146.4 KB >>> kismet-linux-bluetooth*: Compressing data... >>> kismet-linux-bluetooth*: Create checksum... >>> kismet-linux-bluetooth*: Create kismet-linux-bluetooth-0.202307.1-r4.apk >>> kismet-linux-wifi*: Tracing dependencies... kismet=0.202307.1-r4 so:libc.musl-loongarch64.so.1 so:libnl-3.so.200 so:libnl-genl-3.so.200 so:libpcap.so.1 so:libprotobuf-c.so.1 >>> kismet-linux-wifi*: Package size: 202.9 KB >>> kismet-linux-wifi*: Compressing data... >>> kismet-linux-wifi*: Create checksum... >>> kismet-linux-wifi*: Create kismet-linux-wifi-0.202307.1-r4.apk >>> kismet-logtools*: Tracing dependencies... so:libc.musl-loongarch64.so.1 so:libgcc_s.so.1 so:libpcap.so.1 so:libpcre2-8.so.0 so:libsqlite3.so.0 so:libstdc++.so.6 >>> kismet-logtools*: Package size: 2.6 MB >>> kismet-logtools*: Compressing data... >>> kismet-logtools*: Create checksum... >>> kismet-logtools*: Create kismet-logtools-0.202307.1-r4.apk >>> kismet-nrf-51822*: Tracing dependencies... kismet=0.202307.1-r4 so:libc.musl-loongarch64.so.1 so:libprotobuf-c.so.1 >>> kismet-nrf-51822*: Package size: 130.4 KB >>> kismet-nrf-51822*: Compressing data... >>> kismet-nrf-51822*: Create checksum... >>> kismet-nrf-51822*: Create kismet-nrf-51822-0.202307.1-r4.apk >>> kismet-nxp-kw41z*: Tracing dependencies... kismet=0.202307.1-r4 so:libc.musl-loongarch64.so.1 so:libprotobuf-c.so.1 >>> kismet-nxp-kw41z*: Package size: 130.4 KB >>> kismet-nxp-kw41z*: Compressing data... >>> kismet-nxp-kw41z*: Create checksum... >>> kismet-nxp-kw41z*: Create kismet-nxp-kw41z-0.202307.1-r4.apk >>> kismet*: Tracing dependencies... pkgconfig so:libabsl_log_internal_check_op.so.2407.0.0 so:libabsl_log_internal_message.so.2407.0.0 so:libc.musl-loongarch64.so.1 so:libcrypto.so.3 so:libgcc_s.so.1 so:libpcap.so.1 so:libpcre2-8.so.0 so:libprotobuf-c.so.1 so:libprotobuf.so.24 so:libsqlite3.so.0 so:libstdc++.so.6 so:libz.so.1 >>> kismet*: Package size: 22.9 MB >>> kismet*: Compressing data... >>> kismet*: Create checksum... >>> kismet*: Create kismet-0.202307.1-r4.apk >>> kismet: Build complete at Mon, 11 Nov 2024 19:42:20 +0000 elapsed time 0h 16m 17s >>> kismet: Cleaning up srcdir >>> kismet: Cleaning up pkgdir >>> kismet: Uninstalling dependencies... (1/133) Purging .makedepends-kismet (20241111.192604) (2/133) Purging libnl3-dev (3.10.0-r0) (3/133) Purging libnl3-cli (3.10.0-r0) (4/133) Purging libnl3 (3.10.0-r0) (5/133) Purging libpcap-dev (1.10.5-r0) (6/133) Purging libpcap (1.10.5-r0) (7/133) Purging openssl-dev (3.3.2-r3) (8/133) Purging pcre2-dev (10.43-r0) (9/133) Purging libedit-dev (20240808.3.1-r0) (10/133) Purging bsd-compat-headers (0.7.2-r6) (11/133) Purging ncurses-dev (6.5_p20241006-r2) (12/133) Purging libncurses++ (6.5_p20241006-r2) (13/133) Purging libpanelw (6.5_p20241006-r2) (14/133) Purging libpcre2-16 (10.43-r0) (15/133) Purging libpcre2-32 (10.43-r0) (16/133) Purging protobuf-c-dev (1.5.0-r2) (17/133) Purging protobuf-c-compiler (1.5.0-r2) (18/133) Purging protobuf-c (1.5.0-r2) (19/133) Purging protobuf-dev (24.4-r4) (20/133) Purging protoc (24.4-r4) (21/133) Purging libprotobuf-lite (24.4-r4) (22/133) Purging libprotoc (24.4-r4) (23/133) Purging sqlite-dev (3.47.0-r0) (24/133) Purging sqlite (3.47.0-r0) (25/133) Purging sqlite-libs (3.47.0-r0) (26/133) Purging zlib-dev (1.3.1-r2) (27/133) Purging abseil-cpp-dev (20240722.0-r0) (28/133) Purging linux-headers (6.6-r1) (29/133) Purging abseil-cpp-atomic-hook-test-helper (20240722.0-r0) (30/133) Purging abseil-cpp-bad-any-cast-impl (20240722.0-r0) (31/133) Purging abseil-cpp-bad-optional-access (20240722.0-r0) (32/133) Purging abseil-cpp-bad-variant-access (20240722.0-r0) (33/133) Purging abseil-cpp-civil-time (20240722.0-r0) (34/133) Purging abseil-cpp-cordz-sample-token (20240722.0-r0) (35/133) Purging abseil-cpp-crc-cpu-detect (20240722.0-r0) (36/133) Purging abseil-cpp-debugging-internal (20240722.0-r0) (37/133) Purging abseil-cpp-demangle-internal (20240722.0-r0) (38/133) Purging abseil-cpp-exception-safety-testing (20240722.0-r0) (39/133) Purging abseil-cpp-failure-signal-handler (20240722.0-r0) (40/133) Purging abseil-cpp-flags-parse (20240722.0-r0) (41/133) Purging abseil-cpp-flags-usage-internal (20240722.0-r0) (42/133) Purging abseil-cpp-flags-usage (20240722.0-r0) (43/133) Purging abseil-cpp-graphcycles-internal (20240722.0-r0) (44/133) Purging abseil-cpp-hash-generator-testing (20240722.0-r0) (45/133) Purging abseil-cpp-hashtablez-sampler (20240722.0-r0) (46/133) Purging abseil-cpp-leak-check (20240722.0-r0) (47/133) Purging abseil-cpp-log-entry (20240722.0-r0) (48/133) Purging abseil-cpp-log-flags (20240722.0-r0) (49/133) Purging abseil-cpp-log-internal-test-actions (20240722.0-r0) (50/133) Purging abseil-cpp-log-internal-test-matchers (20240722.0-r0) (51/133) Purging abseil-cpp-per-thread-sem-test-common (20240722.0-r0) (52/133) Purging abseil-cpp-periodic-sampler (20240722.0-r0) (53/133) Purging abseil-cpp-pow10-helper (20240722.0-r0) (54/133) Purging abseil-cpp-random-distributions (20240722.0-r0) (55/133) Purging abseil-cpp-random-internal-distribution-test-util (20240722.0-r0) (56/133) Purging abseil-cpp-random-internal-randen-hwaes-impl (20240722.0-r0) (57/133) Purging abseil-cpp-random-internal-randen-hwaes (20240722.0-r0) (58/133) Purging abseil-cpp-random-seed-sequences (20240722.0-r0) (59/133) Purging abseil-cpp-scoped-mock-log (20240722.0-r0) (60/133) Purging abseil-cpp-scoped-set-env (20240722.0-r0) (61/133) Purging abseil-cpp-spinlock-test-common (20240722.0-r0) (62/133) Purging abseil-cpp-stack-consumption (20240722.0-r0) (63/133) Purging abseil-cpp-string-view (20240722.0-r0) (64/133) Purging abseil-cpp-test-instance-tracker (20240722.0-r0) (65/133) Purging abseil-cpp-time-internal-test-util (20240722.0-r0) (66/133) Purging abseil-cpp-vlog-config-internal (20240722.0-r0) (67/133) Purging abseil-cpp (20240722.0-r0) (68/133) Purging abseil-cpp-flags-internal (20240722.0-r0) (69/133) Purging abseil-cpp-flags-marshalling (20240722.0-r0) (70/133) Purging abseil-cpp-flags-reflection (20240722.0-r0) (71/133) Purging abseil-cpp-log-internal-fnmatch (20240722.0-r0) (72/133) Purging abseil-cpp-log-internal-test-helpers (20240722.0-r0) (73/133) Purging abseil-cpp-log-severity (20240722.0-r0) (74/133) Purging abseil-cpp-random-internal-pool-urbg (20240722.0-r0) (75/133) Purging abseil-cpp-random-internal-randen (20240722.0-r0) (76/133) Purging abseil-cpp-random-internal-randen-slow (20240722.0-r0) (77/133) Purging abseil-cpp-random-internal-seed-material (20240722.0-r0) (78/133) Purging abseil-cpp-random-seed-gen-exception (20240722.0-r0) (79/133) Purging gmock (1.15.2-r0) (80/133) Purging gtest (1.15.2-r0) (81/133) Purging libformw (6.5_p20241006-r2) (82/133) Purging libmenuw (6.5_p20241006-r2) (83/133) Purging libprotobuf (24.4-r4) (84/133) Purging abseil-cpp-log-internal-conditions (20240722.0-r0) (85/133) Purging abseil-cpp-statusor (20240722.0-r0) (86/133) Purging abseil-cpp-status (20240722.0-r0) (87/133) Purging abseil-cpp-cord (20240722.0-r0) (88/133) Purging abseil-cpp-cordz-info (20240722.0-r0) (89/133) Purging abseil-cpp-cordz-handle (20240722.0-r0) (90/133) Purging abseil-cpp-die-if-null (20240722.0-r0) (91/133) Purging abseil-cpp-log-internal-message (20240722.0-r0) (92/133) Purging abseil-cpp-log-internal-log-sink-set (20240722.0-r0) (93/133) Purging abseil-cpp-flags-config (20240722.0-r0) (94/133) Purging abseil-cpp-flags-program-name (20240722.0-r0) (95/133) Purging abseil-cpp-synchronization (20240722.0-r0) (96/133) Purging abseil-cpp-malloc-internal (20240722.0-r0) (97/133) Purging abseil-cpp-base (20240722.0-r0) (98/133) Purging abseil-cpp-raw-hash-set (20240722.0-r0) (99/133) Purging abseil-cpp-log-globals (20240722.0-r0) (100/133) Purging abseil-cpp-hash (20240722.0-r0) (101/133) Purging abseil-cpp-city (20240722.0-r0) (102/133) Purging abseil-cpp-cord-internal (20240722.0-r0) (103/133) Purging abseil-cpp-cordz-functions (20240722.0-r0) (104/133) Purging abseil-cpp-crc-cord-state (20240722.0-r0) (105/133) Purging abseil-cpp-crc32c (20240722.0-r0) (106/133) Purging abseil-cpp-crc-internal (20240722.0-r0) (107/133) Purging abseil-cpp-examine-stack (20240722.0-r0) (108/133) Purging abseil-cpp-exponential-biased (20240722.0-r0) (109/133) Purging abseil-cpp-flags-commandlineflag (20240722.0-r0) (110/133) Purging abseil-cpp-flags-commandlineflag-internal (20240722.0-r0) (111/133) Purging abseil-cpp-flags-private-handle-accessor (20240722.0-r0) (112/133) Purging abseil-cpp-log-internal-format (20240722.0-r0) (113/133) Purging abseil-cpp-str-format-internal (20240722.0-r0) (114/133) Purging abseil-cpp-int128 (20240722.0-r0) (115/133) Purging abseil-cpp-kernel-timeout-internal (20240722.0-r0) (116/133) Purging abseil-cpp-log-initialize (20240722.0-r0) (117/133) Purging abseil-cpp-log-internal-check-op (20240722.0-r0) (118/133) Purging abseil-cpp-log-internal-globals (20240722.0-r0) (119/133) Purging abseil-cpp-log-internal-nullguard (20240722.0-r0) (120/133) Purging abseil-cpp-log-internal-proto (20240722.0-r0) (121/133) Purging abseil-cpp-log-sink (20240722.0-r0) (122/133) Purging abseil-cpp-low-level-hash (20240722.0-r0) (123/133) Purging abseil-cpp-random-internal-platform (20240722.0-r0) (124/133) Purging abseil-cpp-time (20240722.0-r0) (125/133) Purging abseil-cpp-strings (20240722.0-r0) (126/133) Purging abseil-cpp-strings-internal (20240722.0-r0) (127/133) Purging abseil-cpp-raw-logging-internal (20240722.0-r0) (128/133) Purging abseil-cpp-spinlock-wait (20240722.0-r0) (129/133) Purging abseil-cpp-stacktrace (20240722.0-r0) (130/133) Purging abseil-cpp-strerror (20240722.0-r0) (131/133) Purging abseil-cpp-symbolize (20240722.0-r0) (132/133) Purging abseil-cpp-throw-delegate (20240722.0-r0) (133/133) Purging abseil-cpp-time-zone (20240722.0-r0) Executing busybox-1.37.0-r6.trigger OK: 247 MiB in 102 packages >>> kismet: Updating the testing/loongarch64 repository index... >>> kismet: Signing the index...