Warning: Permanently added '98.93.245.245' (ED25519) to the list of known hosts. You can reproduce this build on your computer by running: sudo dnf install copr-rpmbuild /usr/bin/copr-rpmbuild --verbose --drop-resultdir --task-url https://copr.fedorainfracloud.org/backend/get-build-task/11200084-fedora-44-aarch64 --chroot fedora-44-aarch64 Version: 1.10 PID: 11808 Logging PID: 11810 Task: {'allow_user_ssh': False, 'appstream': False, 'background': False, 'build_id': 11200084, 'buildroot_pkgs': [], 'chroot': 'fedora-44-aarch64', 'enable_net': False, 'fedora_review': False, 'git_hash': 'a7402af9f37ac0c3950619c1f84545424f9fa667', 'git_repo': 'https://copr-dist-git.fedorainfracloud.org/git/mhough/biofedora/libroadrunner', 'isolation': 'default', 'memory_reqs': 2048, 'package_name': 'libroadrunner', 'package_version': '2.11.0-1', 'project_dirname': 'biofedora', 'project_name': 'biofedora', 'project_owner': 'mhough', 'repo_priority': None, 'repos': [{'baseurl': 'https://download.copr.fedorainfracloud.org/results/mhough/biofedora/fedora-44-aarch64/', 'id': 'copr_base', 'name': 'Copr repository', 'priority': None, 'repo_gpgcheck': False}, {'baseurl': 'https://download.copr.fedorainfracloud.org/results/mhough/neurofedora/fedora-44-aarch64/', 'id': 'copr_mhough_neurofedora', 'name': 'Additional repo copr_mhough_neurofedora', 'repo_gpgcheck': False}], 'sandbox': 'mhough/biofedora--mhough', 'source_json': {}, 'source_type': None, 'ssh_public_keys': None, 'storage': 1, 'submitter': 'mhough', 'tags': [], 'task_id': '11200084-fedora-44-aarch64', 'timeout': 18000, 'uses_devel_repo': False, 'with_opts': [], 'without_opts': []} Running: git clone https://copr-dist-git.fedorainfracloud.org/git/mhough/biofedora/libroadrunner /var/lib/copr-rpmbuild/workspace/workdir-8cqh0dbx/libroadrunner --depth 500 --no-single-branch --recursive cmd: ['git', 'clone', 'https://copr-dist-git.fedorainfracloud.org/git/mhough/biofedora/libroadrunner', '/var/lib/copr-rpmbuild/workspace/workdir-8cqh0dbx/libroadrunner', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-8cqh0dbx/libroadrunner'... Running: git checkout a7402af9f37ac0c3950619c1f84545424f9fa667 -- cmd: ['git', 'checkout', 'a7402af9f37ac0c3950619c1f84545424f9fa667', '--'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-8cqh0dbx/libroadrunner rc: 0 stdout: stderr: Note: switching to 'a7402af9f37ac0c3950619c1f84545424f9fa667'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at a7402af automatic import of libroadrunner Running: dist-git-client sources cmd: ['dist-git-client', 'sources'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-8cqh0dbx/libroadrunner rc: 0 stdout: stderr: INFO: Reading stdout from command: git rev-parse --abbrev-ref HEAD INFO: Reading stdout from command: git rev-parse HEAD INFO: Reading sources specification file: sources INFO: Downloading libroadrunner-2.11.0.tar.gz INFO: Reading stdout from command: curl --help all INFO: Calling: curl -H Pragma: -H 'Accept-Encoding: identity' -o libroadrunner-2.11.0.tar.gz --location --connect-timeout 60 --retry 3 --retry-delay 10 --remote-time --show-error --fail --retry-all-errors https://copr-dist-git.fedorainfracloud.org/repo/pkgs/mhough/biofedora/libroadrunner/libroadrunner-2.11.0.tar.gz/md5/b6d156a574d0dec0590a10ab3c6cdb51/libroadrunner-2.11.0.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 44.39M 100 44.39M 0 0 281.7M 0 0 INFO: Reading stdout from command: md5sum libroadrunner-2.11.0.tar.gz tail: /var/lib/copr-rpmbuild/main.log: file truncated Running (timeout=18000): unbuffer mock --spec /var/lib/copr-rpmbuild/workspace/workdir-8cqh0dbx/libroadrunner/libroadrunner.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-8cqh0dbx/libroadrunner --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1792804412.242957 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 6.9 starting (python version = 3.14.5, NVR = mock-6.9-1.fc44), args: /usr/libexec/mock/mock --spec /var/lib/copr-rpmbuild/workspace/workdir-8cqh0dbx/libroadrunner/libroadrunner.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-8cqh0dbx/libroadrunner --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1792804412.242957 -r /var/lib/copr-rpmbuild/results/configs/child.cfg Start(bootstrap): init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish(bootstrap): init plugins Start: init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish: init plugins INFO: Signal handler active Start: run INFO: Start(/var/lib/copr-rpmbuild/workspace/workdir-8cqh0dbx/libroadrunner/libroadrunner.spec) Config(fedora-44-aarch64) Start: clean chroot Finish: clean chroot Mock Version: 6.9 INFO: Mock Version: 6.9 Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-44-aarch64-bootstrap-1792804412.242957/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata INFO: Guessed host environment type: unknown INFO: Using container image: registry.fedoraproject.org/fedora:44 INFO: Pulling image: registry.fedoraproject.org/fedora:44 INFO: Tagging container image as mock-bootstrap-688d60ca-2d19-4b1b-bec6-5e7b3a6b3e0f INFO: Checking that b7e5ccd4fe73ede1c962d6e51e3d9362cc7573b1f88e56c0c7f02ffb1b4bb05e image matches host's architecture INFO: Copy content of container b7e5ccd4fe73ede1c962d6e51e3d9362cc7573b1f88e56c0c7f02ffb1b4bb05e to /var/lib/mock/fedora-44-aarch64-bootstrap-1792804412.242957/root INFO: mounting b7e5ccd4fe73ede1c962d6e51e3d9362cc7573b1f88e56c0c7f02ffb1b4bb05e with podman image mount INFO: image b7e5ccd4fe73ede1c962d6e51e3d9362cc7573b1f88e56c0c7f02ffb1b4bb05e as /var/lib/containers/storage/overlay/6575fb2d236d0b44599a46c0a5c07e66c7a8828b7f3ddc7839c1de9101a7b98a/merged INFO: umounting image b7e5ccd4fe73ede1c962d6e51e3d9362cc7573b1f88e56c0c7f02ffb1b4bb05e (/var/lib/containers/storage/overlay/6575fb2d236d0b44599a46c0a5c07e66c7a8828b7f3ddc7839c1de9101a7b98a/merged) with podman image umount INFO: Removing image mock-bootstrap-688d60ca-2d19-4b1b-bec6-5e7b3a6b3e0f INFO: Package manager dnf5 detected and used (fallback) INFO: Not updating bootstrap chroot, bootstrap_image_ready=True Start(bootstrap): creating root cache Finish(bootstrap): creating root cache Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-44-aarch64-1792804412.242957/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Package manager dnf5 detected and used (direct choice) INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-6.0.2-1.fc44.aarch64 rpm-sequoia-1.10.3-1.fc44.aarch64 dnf5-5.4.6.0-1.fc44.aarch64 dnf5-plugins-5.4.6.0-1.fc44.aarch64 Start: installing minimal buildroot with dnf5 Updating and loading repositories: fedora 100% | 45.5 MiB/s | 137.5 MiB | 00m03s Additional repo copr_mhough_neurofedor 100% | 310.4 KiB/s | 965.1 KiB | 00m03s Copr repository 100% | 16.9 KiB/s | 53.5 KiB | 00m03s updates 100% | 1.4 MiB/s | 11.8 MiB | 00m08s Repositories loaded. Package Arch Version Repository Size Installing group/module packages: bash aarch64 0:5.3.9-3.fc44 fedora 8.4 MiB bzip2 aarch64 0:1.0.8-23.fc44 fedora 171.1 KiB coreutils aarch64 0:9.10-5.fc44 updates 8.2 MiB cpio aarch64 0:2.15-9.fc44 fedora 1.1 MiB diffutils aarch64 0:3.12-5.fc44 fedora 1.6 MiB fedora-release-common noarch 0:44-18 updates 20.6 KiB findutils aarch64 1:4.10.0-7.fc44 fedora 1.9 MiB gawk aarch64 0:5.3.2-3.fc44 fedora 2.6 MiB glibc-minimal-langpack aarch64 0:2.43-9.fc44 updates 0.0 B grep aarch64 0:3.12-3.fc44 fedora 1.0 MiB gzip aarch64 0:1.14-2.fc44 fedora 437.5 KiB info aarch64 0:7.2-9.fc44 fedora 421.5 KiB patch aarch64 0:2.8-4.fc44 fedora 262.4 KiB redhat-rpm-config noarch 0:344-2.fc44 updates 183.7 KiB rpm-build aarch64 0:6.0.2-1.fc44 updates 598.7 KiB sed aarch64 0:4.9-7.fc44 fedora 873.1 KiB shadow-utils aarch64 2:4.19.0-7.fc44 updates 4.4 MiB tar aarch64 2:1.35-9.fc44 updates 3.0 MiB unzip aarch64 0:6.0-69.fc44 fedora 533.8 KiB util-linux aarch64 0:2.41.5-1.fc44 updates 6.8 MiB which aarch64 0:2.25-1.fc44 updates 123.6 KiB xz aarch64 1:5.8.2-2.fc44 fedora 1.4 MiB Installing dependencies: R-srpm-macros noarch 0:1.3.7-2.fc44 updates 3.5 KiB add-determinism aarch64 0:0.7.3-2.fc44 updates 2.0 MiB alternatives aarch64 0:1.33-5.fc44 fedora 90.1 KiB ansible-srpm-macros noarch 0:1-20.1.fc44 fedora 35.7 KiB audit-libs aarch64 0:4.2.1-1.fc44 updates 486.7 KiB binutils aarch64 0:2.46.1-1.fc44 updates 31.5 MiB build-reproducibility-srpm-macros noarch 0:0.7.3-2.fc44 updates 1.2 KiB bzip2-libs aarch64 0:1.0.8-23.fc44 fedora 72.5 KiB ca-certificates noarch 0:2026.2.92_v9.0.319-2.fc44 updates 2.7 MiB cmake-srpm-macros noarch 0:4.3.0-1.fc44 fedora 524.0 B coreutils-common aarch64 0:9.10-5.fc44 updates 10.7 MiB crypto-policies noarch 0:20251128-3.git19878fe.fc44 fedora 132.6 KiB curl aarch64 0:8.18.0-14.fc44 updates 464.2 KiB cyrus-sasl-lib aarch64 0:2.1.28-35.fc44 fedora 2.4 MiB debugedit aarch64 0:5.3-2.fc44 updates 320.9 KiB dwz aarch64 0:0.16-3.fc44 fedora 322.4 KiB ed aarch64 0:1.22.5-2.fc44 fedora 157.8 KiB efi-srpm-macros noarch 0:6-6.fc44 fedora 40.2 KiB elfutils aarch64 0:0.196-1.fc44 updates 3.8 MiB elfutils-debuginfod-client aarch64 0:0.196-1.fc44 updates 144.0 KiB elfutils-default-yama-scope noarch 0:0.196-1.fc44 updates 1.8 KiB elfutils-libelf aarch64 0:0.196-1.fc44 updates 1.5 MiB elfutils-libs aarch64 0:0.196-1.fc44 updates 746.6 KiB erlang-srpm-macros noarch 0:0.4.0-1.fc44 updates 2.0 KiB fedora-gpg-keys noarch 0:44-2 updates 257.6 KiB fedora-release noarch 0:44-18 updates 0.0 B fedora-release-identity-basic noarch 0:44-18 updates 629.0 B fedora-repos noarch 0:44-2 updates 4.9 KiB file aarch64 0:5.46-10.fc44 updates 140.1 KiB file-libs aarch64 0:5.46-10.fc44 updates 11.9 MiB filesystem aarch64 0:3.18-52.fc44 fedora 112.0 B filesystem-srpm-macros noarch 0:3.18-52.fc44 fedora 38.2 KiB fonts-srpm-macros noarch 1:5.0.0-2.fc44 fedora 55.8 KiB forge-srpm-macros noarch 0:0.4.0-4.fc44 fedora 38.9 KiB fpc-srpm-macros noarch 0:1.3-16.fc44 fedora 144.0 B gap-srpm-macros noarch 0:2-2.fc44 fedora 2.1 KiB gdb-minimal aarch64 0:17.2-4.fc44 updates 13.5 MiB gdbm-libs aarch64 1:1.23-11.fc44 fedora 233.7 KiB ghc-srpm-macros noarch 0:1.10-1.fc44 fedora 792.0 B glibc aarch64 0:2.43-9.fc44 updates 6.4 MiB glibc-common aarch64 0:2.43-9.fc44 updates 1.3 MiB glibc-gconv-extra aarch64 0:2.43-9.fc44 updates 18.5 MiB gmp aarch64 1:6.3.0-5.fc44 fedora 657.9 KiB gnat-srpm-macros noarch 0:7-2.fc44 fedora 1.0 KiB gnome-srpm-macros noarch 0:1.0-1.fc44 updates 3.5 KiB gnulib-l10n noarch 0:20241231-2.fc44 fedora 655.0 KiB gnupg2 aarch64 0:2.4.9-16.fc44 updates 6.4 MiB gnupg2-dirmngr aarch64 0:2.4.9-16.fc44 updates 646.1 KiB gnupg2-gpg-agent aarch64 0:2.4.9-16.fc44 updates 846.9 KiB gnupg2-gpgconf aarch64 0:2.4.9-16.fc44 updates 321.8 KiB gnupg2-keyboxd aarch64 0:2.4.9-16.fc44 updates 233.3 KiB gnupg2-verify aarch64 0:2.4.9-16.fc44 updates 364.3 KiB gnutls aarch64 0:3.8.13-1.fc44 updates 3.7 MiB go-srpm-macros noarch 0:3.8.0-2.fc44 fedora 61.9 KiB gpgverify noarch 0:2.2-4.fc44 fedora 8.7 KiB ima-evm-utils-libs aarch64 0:1.6.2-8.fc44 fedora 92.6 KiB jansson aarch64 0:2.14-4.fc44 fedora 93.0 KiB java-srpm-macros noarch 0:1-8.fc44 fedora 870.0 B json-c aarch64 0:0.18-8.fc44 fedora 138.5 KiB kernel-srpm-macros noarch 0:1.0-28.fc44 fedora 1.9 KiB keyutils-libs aarch64 0:1.6.3-7.fc44 fedora 98.2 KiB krb5-libs aarch64 0:1.22.2-4.fc44 updates 2.5 MiB libacl aarch64 0:2.4.0-1.fc44 updates 67.9 KiB libarchive aarch64 0:3.8.7-1.fc44 updates 975.5 KiB libassuan aarch64 0:2.5.7-5.fc44 fedora 215.8 KiB libattr aarch64 0:2.6.0-1.fc44 updates 68.4 KiB libblkid aarch64 0:2.41.5-1.fc44 updates 290.4 KiB libbrotli aarch64 0:1.2.0-3.fc44 fedora 909.1 KiB libcap aarch64 0:2.78-1.fc44 updates 508.4 KiB libcap-ng aarch64 0:0.9.6-1.fc44 updates 160.9 KiB libcbor aarch64 0:0.13.0-2.fc44 fedora 139.5 KiB libcom_err aarch64 0:1.47.3-4.fc44 fedora 111.0 KiB libcurl aarch64 0:8.18.0-14.fc44 updates 980.9 KiB libeconf aarch64 0:0.7.9-3.fc44 fedora 80.8 KiB libevent aarch64 0:2.1.13-1.fc44 updates 1.1 MiB libfdisk aarch64 0:2.41.5-1.fc44 updates 418.8 KiB libffi aarch64 0:3.5.2-2.fc44 fedora 155.7 KiB libfido2 aarch64 0:1.16.0-5.fc44 fedora 278.6 KiB libfsverity aarch64 0:1.6-4.fc44 fedora 68.4 KiB libgcc aarch64 0:16.2.1-2.fc44 updates 222.3 KiB libgcrypt aarch64 0:1.12.2-1.fc44 updates 1.2 MiB libgomp aarch64 0:16.2.1-2.fc44 updates 592.9 KiB libgpg-error aarch64 0:1.58-2.fc44 fedora 989.6 KiB libidn2 aarch64 0:2.3.8-3.fc44 fedora 560.4 KiB libksba aarch64 0:1.6.7-5.fc44 fedora 398.3 KiB liblastlog2 aarch64 0:2.41.5-1.fc44 updates 137.8 KiB libmount aarch64 0:2.41.5-1.fc44 updates 420.2 KiB libnghttp2 aarch64 0:1.68.0-5.fc44 updates 197.9 KiB libnghttp3 aarch64 0:1.18.0-1.fc44 updates 206.8 KiB libpfm aarch64 0:4.13.0-20.fc44 updates 251.9 KiB libpkgconf aarch64 0:2.5.1-1.fc44 fedora 134.1 KiB libpsl aarch64 0:0.21.5-7.fc44 fedora 132.3 KiB libselinux aarch64 0:3.11-2.fc44 updates 265.2 KiB libselinux-utils aarch64 0:3.11-2.fc44 updates 1.3 MiB libsemanage aarch64 0:3.11-1.fc44 updates 360.1 KiB libsepol aarch64 0:3.11-1.fc44 updates 809.9 KiB libsmartcols aarch64 0:2.41.5-1.fc44 updates 224.4 KiB libssh aarch64 0:0.12.2-1.fc44 updates 721.3 KiB libssh-config noarch 0:0.12.2-1.fc44 updates 277.0 B libstdc++ aarch64 0:16.2.1-2.fc44 updates 3.0 MiB libtasn1 aarch64 0:4.21.0-1.fc44 fedora 220.7 KiB libtool-ltdl aarch64 0:2.5.4-10.fc44 fedora 93.9 KiB libunistring aarch64 0:1.1-11.fc44 fedora 1.7 MiB libusb1 aarch64 0:1.0.30-1.fc44 updates 179.7 KiB libuuid aarch64 0:2.41.5-1.fc44 updates 69.3 KiB libverto aarch64 0:0.3.2-12.fc44 fedora 69.3 KiB libxcrypt aarch64 0:4.5.2-3.fc44 fedora 273.2 KiB libxml2 aarch64 0:2.12.10-6.fc44 fedora 1.9 MiB libzstd aarch64 0:1.5.7-5.fc44 fedora 860.2 KiB linkdupes aarch64 0:0.7.3-2.fc44 updates 713.7 KiB lua-libs aarch64 0:5.4.8-5.fc44 fedora 329.8 KiB lua-srpm-macros noarch 0:1-17.fc44 fedora 1.3 KiB lz4-libs aarch64 0:1.10.0-4.fc44 fedora 197.3 KiB mpfr aarch64 0:4.2.2-3.fc44 fedora 755.4 KiB ncurses-base noarch 0:6.6-1.fc44 fedora 329.7 KiB ncurses-libs aarch64 0:6.6-1.fc44 fedora 1.2 MiB nettle aarch64 0:3.10.1-3.fc44 fedora 765.0 KiB ngtcp2 aarch64 0:1.22.1-1.fc44 updates 341.1 KiB ngtcp2-crypto-ossl aarch64 0:1.22.1-1.fc44 updates 67.5 KiB npth aarch64 0:1.8-4.fc44 fedora 93.3 KiB ocaml-srpm-macros noarch 0:11-3.fc44 fedora 1.9 KiB openblas-srpm-macros noarch 0:2-21.fc44 fedora 112.0 B openldap aarch64 0:2.6.15-1.fc44 updates 765.6 KiB openssl-libs aarch64 1:3.5.9-1.fc44 updates 7.5 MiB p11-kit aarch64 0:0.26.5-1.fc44 updates 2.8 MiB p11-kit-trust aarch64 0:0.26.5-1.fc44 updates 530.1 KiB package-notes-srpm-macros noarch 0:0.20-1.fc44 updates 1.6 KiB pam-libs aarch64 0:1.7.2-2.fc44 updates 222.7 KiB pcre2 aarch64 0:10.47-1.fc44.1 fedora 714.3 KiB pcre2-syntax noarch 0:10.47-1.fc44.1 fedora 281.9 KiB perl-srpm-macros noarch 0:1-61.fc44 fedora 861.0 B pkgconf aarch64 0:2.5.1-1.fc44 fedora 116.8 KiB pkgconf-m4 noarch 0:2.5.1-1.fc44 fedora 14.3 KiB pkgconf-pkg-config aarch64 0:2.5.1-1.fc44 fedora 990.0 B policycoreutils aarch64 0:3.11-2.fc44 updates 1.5 MiB popt aarch64 0:1.19-10.fc44 fedora 144.6 KiB publicsuffix-list-dafsa noarch 0:20260116-1.fc44 fedora 70.4 KiB pyproject-srpm-macros noarch 0:1.24.0-1.fc44 updates 3.4 KiB python-srpm-macros noarch 0:3.14-12.fc44 fedora 51.6 KiB qt5-srpm-macros noarch 0:5.15.18-2.fc44 fedora 500.0 B qt6-srpm-macros noarch 0:6.11.2-1.fc44 updates 472.0 B readline aarch64 0:8.3-4.fc44 fedora 563.5 KiB rpm aarch64 0:6.0.2-1.fc44 updates 3.3 MiB rpm-build-libs aarch64 0:6.0.2-1.fc44 updates 264.1 KiB rpm-libs aarch64 0:6.0.2-1.fc44 updates 995.2 KiB rpm-plugin-selinux aarch64 0:6.0.2-1.fc44 updates 67.9 KiB rpm-sequoia aarch64 0:1.10.3-1.fc44 updates 2.3 MiB rpm-sign-libs aarch64 0:6.0.2-1.fc44 updates 67.7 KiB rust-srpm-macros noarch 0:28.5-1.fc44 updates 5.5 KiB selinux-policy noarch 0:44.11-1.fc44 updates 32.1 KiB selinux-policy-targeted noarch 0:44.11-1.fc44 updates 18.6 MiB setup noarch 0:2.15.0-28.fc44 fedora 724.9 KiB sqlite-libs aarch64 0:3.51.2-2.fc44 updates 1.6 MiB systemd-libs aarch64 0:259.10-1.fc44 updates 2.5 MiB systemd-standalone-sysusers aarch64 0:259.10-1.fc44 updates 329.6 KiB tpm2-tss aarch64 0:4.1.3-9.fc44 fedora 2.1 MiB tree-sitter-srpm-macros noarch 0:0.4.2-2.fc44 fedora 8.3 KiB util-linux-core aarch64 0:2.41.5-1.fc44 updates 2.4 MiB xxhash-libs aarch64 0:0.8.4-1.fc44 updates 85.8 KiB xz-libs aarch64 1:5.8.2-2.fc44 fedora 265.4 KiB zig-srpm-macros noarch 0:1-8.fc44 fedora 1.3 KiB zip aarch64 0:3.0-45.fc44 fedora 762.0 KiB zlib-ng-compat aarch64 0:2.3.3-3.fc44 fedora 133.4 KiB zstd aarch64 0:1.5.7-5.fc44 fedora 562.2 KiB Installing groups: Buildsystem building group Transaction Summary: Installing: 186 packages Total size of inbound packages is 67 MiB. Need to download 67 MiB. After this operation, 251 MiB extra will be used (install 251 MiB, remove 0 B). [ 1/186] bzip2-0:1.0.8-23.fc44.aarch64 100% | 797.7 KiB/s | 51.9 KiB | 00m00s [ 2/186] cpio-0:2.15-9.fc44.aarch64 100% | 3.8 MiB/s | 289.7 KiB | 00m00s [ 3/186] diffutils-0:3.12-5.fc44.aarch 100% | 15.9 MiB/s | 391.9 KiB | 00m00s [ 4/186] bash-0:5.3.9-3.fc44.aarch64 100% | 17.7 MiB/s | 1.8 MiB | 00m00s [ 5/186] gawk-0:5.3.2-3.fc44.aarch64 100% | 37.2 MiB/s | 1.1 MiB | 00m00s [ 6/186] findutils-1:4.10.0-7.fc44.aar 100% | 11.5 MiB/s | 552.0 KiB | 00m00s [ 7/186] grep-0:3.12-3.fc44.aarch64 100% | 13.8 MiB/s | 296.3 KiB | 00m00s [ 8/186] gzip-0:1.14-2.fc44.aarch64 100% | 9.9 MiB/s | 172.8 KiB | 00m00s [ 9/186] info-0:7.2-9.fc44.aarch64 100% | 10.3 MiB/s | 179.0 KiB | 00m00s [ 10/186] patch-0:2.8-4.fc44.aarch64 100% | 6.8 MiB/s | 111.1 KiB | 00m00s [ 11/186] sed-0:4.9-7.fc44.aarch64 100% | 18.1 MiB/s | 314.8 KiB | 00m00s [ 12/186] unzip-0:6.0-69.fc44.aarch64 100% | 11.5 MiB/s | 200.9 KiB | 00m00s [ 13/186] xz-1:5.8.2-2.fc44.aarch64 100% | 31.2 MiB/s | 606.6 KiB | 00m00s [ 14/186] fedora-release-common-0:44-18 100% | 59.3 KiB/s | 23.6 KiB | 00m00s [ 15/186] redhat-rpm-config-0:344-2.fc4 100% | 243.9 KiB/s | 78.1 KiB | 00m00s [ 16/186] glibc-minimal-langpack-0:2.43 100% | 117.9 KiB/s | 85.4 KiB | 00m01s [ 17/186] rpm-build-0:6.0.2-1.fc44.aarc 100% | 417.2 KiB/s | 130.6 KiB | 00m00s [ 18/186] coreutils-0:9.10-5.fc44.aarch 100% | 736.8 KiB/s | 1.1 MiB | 00m02s [ 19/186] tar-2:1.35-9.fc44.aarch64 100% | 1.4 MiB/s | 855.9 KiB | 00m01s [ 20/186] which-0:2.25-1.fc44.aarch64 100% | 314.9 KiB/s | 41.6 KiB | 00m00s [ 21/186] filesystem-0:3.18-52.fc44.aar 100% | 21.5 MiB/s | 1.3 MiB | 00m00s [ 22/186] ncurses-libs-0:6.6-1.fc44.aar 100% | 17.6 MiB/s | 324.8 KiB | 00m00s [ 23/186] bzip2-libs-0:1.0.8-23.fc44.aa 100% | 2.5 MiB/s | 41.2 KiB | 00m00s [ 24/186] gmp-1:6.3.0-5.fc44.aarch64 100% | 15.6 MiB/s | 271.0 KiB | 00m00s [ 25/186] mpfr-0:4.2.2-3.fc44.aarch64 100% | 18.4 MiB/s | 320.0 KiB | 00m00s [ 26/186] readline-0:8.3-4.fc44.aarch64 100% | 12.7 MiB/s | 221.1 KiB | 00m00s [ 27/186] pcre2-0:10.47-1.fc44.1.aarch6 100% | 14.4 MiB/s | 250.2 KiB | 00m00s [ 28/186] shadow-utils-2:4.19.0-7.fc44. 100% | 1.1 MiB/s | 1.3 MiB | 00m01s [ 29/186] ed-0:1.22.5-2.fc44.aarch64 100% | 5.1 MiB/s | 83.5 KiB | 00m00s [ 30/186] xz-libs-1:5.8.2-2.fc44.aarch6 100% | 2.9 MiB/s | 111.7 KiB | 00m00s [ 31/186] util-linux-0:2.41.5-1.fc44.aa 100% | 2.5 MiB/s | 1.2 MiB | 00m00s [ 32/186] glibc-common-0:2.43-9.fc44.aa 100% | 2.0 MiB/s | 360.3 KiB | 00m00s [ 33/186] ansible-srpm-macros-0:1-20.1. 100% | 1.2 MiB/s | 20.1 KiB | 00m00s [ 34/186] cmake-srpm-macros-0:4.3.0-1.f 100% | 652.2 KiB/s | 10.4 KiB | 00m00s [ 35/186] dwz-0:0.16-3.fc44.aarch64 100% | 7.5 MiB/s | 131.3 KiB | 00m00s [ 36/186] efi-srpm-macros-0:6-6.fc44.no 100% | 1.4 MiB/s | 22.6 KiB | 00m00s [ 37/186] filesystem-srpm-macros-0:3.18 100% | 1.6 MiB/s | 26.6 KiB | 00m00s [ 38/186] fonts-srpm-macros-1:5.0.0-2.f 100% | 1.7 MiB/s | 27.4 KiB | 00m00s [ 39/186] forge-srpm-macros-0:0.4.0-4.f 100% | 1.2 MiB/s | 20.0 KiB | 00m00s [ 40/186] fpc-srpm-macros-0:1.3-16.fc44 100% | 496.2 KiB/s | 7.9 KiB | 00m00s [ 41/186] gap-srpm-macros-0:2-2.fc44.no 100% | 571.3 KiB/s | 9.1 KiB | 00m00s [ 42/186] ghc-srpm-macros-0:1.10-1.fc44 100% | 549.4 KiB/s | 8.8 KiB | 00m00s [ 43/186] gnat-srpm-macros-0:7-2.fc44.n 100% | 546.4 KiB/s | 8.7 KiB | 00m00s [ 44/186] go-srpm-macros-0:3.8.0-2.fc44 100% | 1.7 MiB/s | 28.2 KiB | 00m00s [ 45/186] java-srpm-macros-0:1-8.fc44.n 100% | 507.2 KiB/s | 8.1 KiB | 00m00s [ 46/186] kernel-srpm-macros-0:1.0-28.f 100% | 565.4 KiB/s | 9.0 KiB | 00m00s [ 47/186] lua-srpm-macros-0:1-17.fc44.n 100% | 554.9 KiB/s | 8.9 KiB | 00m00s [ 48/186] ocaml-srpm-macros-0:11-3.fc44 100% | 579.7 KiB/s | 9.3 KiB | 00m00s [ 49/186] openblas-srpm-macros-0:2-21.f 100% | 487.9 KiB/s | 7.8 KiB | 00m00s [ 50/186] perl-srpm-macros-0:1-61.fc44. 100% | 526.6 KiB/s | 8.4 KiB | 00m00s [ 51/186] python-srpm-macros-0:3.14-12. 100% | 1.2 MiB/s | 24.0 KiB | 00m00s [ 52/186] coreutils-common-0:9.10-5.fc4 100% | 3.5 MiB/s | 2.1 MiB | 00m01s [ 53/186] tree-sitter-srpm-macros-0:0.4 100% | 792.4 KiB/s | 13.5 KiB | 00m00s [ 54/186] zig-srpm-macros-0:1-8.fc44.no 100% | 550.7 KiB/s | 8.8 KiB | 00m00s [ 55/186] zip-0:3.0-45.fc44.aarch64 100% | 15.3 MiB/s | 265.6 KiB | 00m00s [ 56/186] glibc-0:2.43-9.fc44.aarch64 100% | 2.9 MiB/s | 2.0 MiB | 00m01s [ 57/186] pkgconf-pkg-config-0:2.5.1-1. 100% | 555.3 KiB/s | 9.4 KiB | 00m00s [ 58/186] popt-0:1.19-10.fc44.aarch64 100% | 4.0 MiB/s | 65.2 KiB | 00m00s [ 59/186] zstd-0:1.5.7-5.fc44.aarch64 100% | 10.5 MiB/s | 183.1 KiB | 00m00s [ 60/186] gnome-srpm-macros-0:1.0-1.fc4 100% | 57.3 KiB/s | 8.7 KiB | 00m00s [ 61/186] libeconf-0:0.7.9-3.fc44.aarch 100% | 2.1 MiB/s | 35.0 KiB | 00m00s [ 62/186] qt5-srpm-macros-0:5.15.18-2.f 100% | 36.5 KiB/s | 8.7 KiB | 00m00s [ 63/186] libxcrypt-0:4.5.2-3.fc44.aarc 100% | 7.2 MiB/s | 125.1 KiB | 00m00s [ 64/186] zlib-ng-compat-0:2.3.3-3.fc44 100% | 4.4 MiB/s | 72.4 KiB | 00m00s [ 65/186] setup-0:2.15.0-28.fc44.noarch 100% | 4.1 MiB/s | 157.2 KiB | 00m00s [ 66/186] rpm-0:6.0.2-1.fc44.aarch64 100% | 3.9 MiB/s | 575.3 KiB | 00m00s [ 67/186] libblkid-0:2.41.5-1.fc44.aarc 100% | 789.5 KiB/s | 122.4 KiB | 00m00s [ 68/186] libfdisk-0:2.41.5-1.fc44.aarc 100% | 1.0 MiB/s | 155.0 KiB | 00m00s [ 69/186] liblastlog2-0:2.41.5-1.fc44.a 100% | 206.7 KiB/s | 24.2 KiB | 00m00s [ 70/186] libuuid-0:2.41.5-1.fc44.aarch 100% | 218.0 KiB/s | 26.4 KiB | 00m00s [ 71/186] util-linux-core-0:2.41.5-1.fc 100% | 3.3 MiB/s | 542.9 KiB | 00m00s [ 72/186] ncurses-base-0:6.6-1.fc44.noa 100% | 5.1 MiB/s | 88.0 KiB | 00m00s [ 73/186] pcre2-syntax-0:10.47-1.fc44.1 100% | 9.5 MiB/s | 164.7 KiB | 00m00s [ 74/186] gnulib-l10n-0:20241231-2.fc44 100% | 8.6 MiB/s | 150.3 KiB | 00m00s [ 75/186] libmount-0:2.41.5-1.fc44.aarc 100% | 357.3 KiB/s | 159.7 KiB | 00m00s [ 76/186] libsmartcols-0:2.41.5-1.fc44. 100% | 185.3 KiB/s | 83.0 KiB | 00m00s [ 77/186] pkgconf-0:2.5.1-1.fc44.aarch6 100% | 2.9 MiB/s | 48.2 KiB | 00m00s [ 78/186] pkgconf-m4-0:2.5.1-1.fc44.noa 100% | 859.6 KiB/s | 13.8 KiB | 00m00s [ 79/186] libzstd-0:1.5.7-5.fc44.aarch6 100% | 17.9 MiB/s | 329.2 KiB | 00m00s [ 80/186] libpkgconf-0:2.5.1-1.fc44.aar 100% | 2.5 MiB/s | 40.7 KiB | 00m00s [ 81/186] lua-libs-0:5.4.8-5.fc44.aarch 100% | 7.9 MiB/s | 129.4 KiB | 00m00s [ 82/186] glibc-gconv-extra-0:2.43-9.fc 100% | 6.2 MiB/s | 1.7 MiB | 00m00s [ 83/186] rpm-sign-libs-0:6.0.2-1.fc44. 100% | 255.0 KiB/s | 25.0 KiB | 00m00s [ 84/186] ima-evm-utils-libs-0:1.6.2-8. 100% | 1.7 MiB/s | 29.5 KiB | 00m00s [ 85/186] libfsverity-0:1.6-4.fc44.aarc 100% | 1.1 MiB/s | 18.7 KiB | 00m00s [ 86/186] tpm2-tss-0:4.1.3-9.fc44.aarch 100% | 16.3 MiB/s | 401.2 KiB | 00m00s [ 87/186] json-c-0:0.18-8.fc44.aarch64 100% | 2.7 MiB/s | 44.9 KiB | 00m00s [ 88/186] libgcc-0:16.2.1-2.fc44.aarch6 100% | 1.3 MiB/s | 117.8 KiB | 00m00s [ 89/186] rpm-build-libs-0:6.0.2-1.fc44 100% | 253.6 KiB/s | 115.1 KiB | 00m00s [ 90/186] libselinux-0:3.11-2.fc44.aarc 100% | 987.4 KiB/s | 99.7 KiB | 00m00s [ 91/186] systemd-libs-0:259.10-1.fc44. 100% | 4.6 MiB/s | 792.4 KiB | 00m00s [ 92/186] libsepol-0:3.11-1.fc44.aarch6 100% | 1.5 MiB/s | 325.9 KiB | 00m00s [ 93/186] libcap-ng-0:0.9.6-1.fc44.aarc 100% | 272.1 KiB/s | 35.1 KiB | 00m00s [ 94/186] audit-libs-0:4.2.1-1.fc44.aar 100% | 886.1 KiB/s | 141.8 KiB | 00m00s [ 95/186] rpm-libs-0:6.0.2-1.fc44.aarch 100% | 403.2 KiB/s | 376.6 KiB | 00m01s [ 96/186] libacl-0:2.4.0-1.fc44.aarch64 100% | 208.6 KiB/s | 26.5 KiB | 00m00s [ 97/186] pam-libs-0:1.7.2-2.fc44.aarch 100% | 400.8 KiB/s | 56.5 KiB | 00m00s [ 98/186] gpgverify-0:2.2-4.fc44.noarch 100% | 701.8 KiB/s | 11.2 KiB | 00m00s [ 99/186] libassuan-0:2.5.7-5.fc44.aarc 100% | 4.1 MiB/s | 66.9 KiB | 00m00s [100/186] libgpg-error-0:1.58-2.fc44.aa 100% | 10.1 MiB/s | 248.3 KiB | 00m00s [101/186] npth-0:1.8-4.fc44.aarch64 100% | 1.5 MiB/s | 25.0 KiB | 00m00s [102/186] libsemanage-0:3.11-1.fc44.aar 100% | 685.7 KiB/s | 119.3 KiB | 00m00s [103/186] gnupg2-0:2.4.9-16.fc44.aarch6 100% | 7.5 MiB/s | 1.6 MiB | 00m00s [104/186] gnupg2-dirmngr-0:2.4.9-16.fc4 100% | 1.3 MiB/s | 262.9 KiB | 00m00s [105/186] gnupg2-gpgconf-0:2.4.9-16.fc4 100% | 908.2 KiB/s | 113.5 KiB | 00m00s [106/186] gnupg2-keyboxd-0:2.4.9-16.fc4 100% | 559.2 KiB/s | 90.6 KiB | 00m00s [107/186] libksba-0:1.6.7-5.fc44.aarch6 100% | 9.1 MiB/s | 157.8 KiB | 00m00s [108/186] gnupg2-verify-0:2.4.9-16.fc44 100% | 1.2 MiB/s | 162.8 KiB | 00m00s [109/186] gnupg2-gpg-agent-0:2.4.9-16.f 100% | 770.5 KiB/s | 265.8 KiB | 00m00s [110/186] libcap-0:2.78-1.fc44.aarch64 100% | 650.7 KiB/s | 87.8 KiB | 00m00s [111/186] libstdc++-0:16.2.1-2.fc44.aar 100% | 2.6 MiB/s | 917.8 KiB | 00m00s [112/186] sqlite-libs-0:3.51.2-2.fc44.a 100% | 2.5 MiB/s | 749.6 KiB | 00m00s [113/186] elfutils-libelf-0:0.196-1.fc4 100% | 1.4 MiB/s | 235.3 KiB | 00m00s [114/186] elfutils-libs-0:0.196-1.fc44. 100% | 861.1 KiB/s | 265.2 KiB | 00m00s [115/186] elfutils-0:0.196-1.fc44.aarch 100% | 2.2 MiB/s | 641.3 KiB | 00m00s [116/186] elfutils-debuginfod-client-0: 100% | 314.9 KiB/s | 45.7 KiB | 00m00s [117/186] file-0:5.46-10.fc44.aarch64 100% | 356.4 KiB/s | 48.8 KiB | 00m00s [118/186] file-libs-0:5.46-10.fc44.aarc 100% | 2.6 MiB/s | 848.0 KiB | 00m00s [119/186] rpm-sequoia-0:1.10.3-1.fc44.a 100% | 769.4 KiB/s | 884.8 KiB | 00m01s [120/186] libgomp-0:16.2.1-2.fc44.aarch 100% | 2.6 MiB/s | 380.5 KiB | 00m00s [121/186] alternatives-0:1.33-5.fc44.aa 100% | 1.6 MiB/s | 40.4 KiB | 00m00s [122/186] jansson-0:2.14-4.fc44.aarch64 100% | 1.5 MiB/s | 46.5 KiB | 00m00s [123/186] libarchive-0:3.8.7-1.fc44.aar 100% | 2.9 MiB/s | 416.0 KiB | 00m00s [124/186] libxml2-0:2.12.10-6.fc44.aarc 100% | 16.6 MiB/s | 682.0 KiB | 00m00s [125/186] lz4-libs-0:1.10.0-4.fc44.aarc 100% | 4.4 MiB/s | 76.6 KiB | 00m00s [126/186] debugedit-0:5.3-2.fc44.aarch6 100% | 380.1 KiB/s | 86.7 KiB | 00m00s [127/186] curl-0:8.18.0-14.fc44.aarch64 100% | 1.8 MiB/s | 235.4 KiB | 00m00s [128/186] R-srpm-macros-0:1.3.7-2.fc44. 100% | 72.1 KiB/s | 11.0 KiB | 00m00s [129/186] build-reproducibility-srpm-ma 100% | 118.1 KiB/s | 13.3 KiB | 00m00s [130/186] linkdupes-0:0.7.3-2.fc44.aarc 100% | 2.7 MiB/s | 328.1 KiB | 00m00s [131/186] erlang-srpm-macros-0:0.4.0-1. 100% | 90.7 KiB/s | 10.0 KiB | 00m00s [132/186] package-notes-srpm-macros-0:0 100% | 110.3 KiB/s | 10.4 KiB | 00m00s [133/186] pyproject-srpm-macros-0:1.24. 100% | 177.5 KiB/s | 15.4 KiB | 00m00s [134/186] qt6-srpm-macros-0:6.11.2-1.fc 100% | 98.7 KiB/s | 9.1 KiB | 00m00s [135/186] rust-srpm-macros-0:28.5-1.fc4 100% | 109.8 KiB/s | 11.2 KiB | 00m00s [136/186] add-determinism-0:0.7.3-2.fc4 100% | 827.9 KiB/s | 800.6 KiB | 00m01s [137/186] crypto-policies-0:20251128-3. 100% | 3.1 MiB/s | 98.3 KiB | 00m00s [138/186] openssl-libs-1:3.5.9-1.fc44.a 100% | 6.6 MiB/s | 2.5 MiB | 00m00s [139/186] gnutls-0:3.8.13-1.fc44.aarch6 100% | 7.5 MiB/s | 1.3 MiB | 00m00s [140/186] binutils-0:2.46.1-1.fc44.aarc 100% | 3.8 MiB/s | 6.4 MiB | 00m02s [141/186] libidn2-0:2.3.8-3.fc44.aarch6 100% | 7.1 MiB/s | 174.6 KiB | 00m00s [142/186] libtasn1-0:4.21.0-1.fc44.aarc 100% | 2.3 MiB/s | 73.4 KiB | 00m00s [143/186] libunistring-0:1.1-11.fc44.aa 100% | 21.0 MiB/s | 538.3 KiB | 00m00s [144/186] nettle-0:3.10.1-3.fc44.aarch6 100% | 13.4 MiB/s | 425.5 KiB | 00m00s [145/186] cyrus-sasl-lib-0:2.1.28-35.fc 100% | 31.4 MiB/s | 772.9 KiB | 00m00s [146/186] libtool-ltdl-0:2.5.4-10.fc44. 100% | 2.2 MiB/s | 35.6 KiB | 00m00s [147/186] gdbm-libs-1:1.23-11.fc44.aarc 100% | 3.4 MiB/s | 56.3 KiB | 00m00s [148/186] openldap-0:2.6.15-1.fc44.aarc 100% | 1.7 MiB/s | 252.3 KiB | 00m00s [149/186] fedora-repos-0:44-2.noarch 100% | 69.9 KiB/s | 9.1 KiB | 00m00s [150/186] fedora-gpg-keys-0:44-2.noarch 100% | 1.4 MiB/s | 187.6 KiB | 00m00s [151/186] elfutils-default-yama-scope-0 100% | 77.7 KiB/s | 11.3 KiB | 00m00s [152/186] libgcrypt-0:1.12.2-1.fc44.aar 100% | 847.9 KiB/s | 535.9 KiB | 00m01s [153/186] libattr-0:2.6.0-1.fc44.aarch6 100% | 119.3 KiB/s | 17.5 KiB | 00m00s [154/186] libusb1-0:1.0.30-1.fc44.aarch 100% | 372.7 KiB/s | 79.0 KiB | 00m00s [155/186] libffi-0:3.5.2-2.fc44.aarch64 100% | 2.3 MiB/s | 39.6 KiB | 00m00s [156/186] libpfm-0:4.13.0-20.fc44.aarch 100% | 133.8 KiB/s | 53.0 KiB | 00m00s [157/186] p11-kit-0:0.26.5-1.fc44.aarch 100% | 3.0 MiB/s | 534.2 KiB | 00m00s [158/186] ca-certificates-0:2026.2.92_v 100% | 2.3 MiB/s | 980.4 KiB | 00m00s [159/186] libevent-0:2.1.13-1.fc44.aarc 100% | 676.4 KiB/s | 272.6 KiB | 00m00s [160/186] p11-kit-trust-0:0.26.5-1.fc44 100% | 929.4 KiB/s | 139.4 KiB | 00m00s [161/186] systemd-standalone-sysusers-0 100% | 856.7 KiB/s | 141.3 KiB | 00m00s [162/186] xxhash-libs-0:0.8.4-1.fc44.aa 100% | 257.9 KiB/s | 34.0 KiB | 00m00s [163/186] fedora-release-0:44-18.noarch 100% | 91.0 KiB/s | 12.5 KiB | 00m00s [164/186] fedora-release-identity-basic 100% | 118.1 KiB/s | 13.2 KiB | 00m00s [165/186] libbrotli-0:1.2.0-3.fc44.aarc 100% | 9.0 MiB/s | 348.7 KiB | 00m00s [166/186] libpsl-0:0.21.5-7.fc44.aarch6 100% | 3.7 MiB/s | 64.9 KiB | 00m00s [167/186] libnghttp3-0:1.18.0-1.fc44.aa 100% | 565.4 KiB/s | 70.1 KiB | 00m00s [168/186] libcurl-0:8.18.0-14.fc44.aarc 100% | 1.9 MiB/s | 424.9 KiB | 00m00s [169/186] libssh-0:0.12.2-1.fc44.aarch6 100% | 1.9 MiB/s | 277.1 KiB | 00m00s [170/186] publicsuffix-list-dafsa-0:202 100% | 3.5 MiB/s | 60.3 KiB | 00m00s [171/186] libfido2-0:1.16.0-5.fc44.aarc 100% | 5.5 MiB/s | 96.2 KiB | 00m00s [172/186] ngtcp2-0:1.22.1-1.fc44.aarch6 100% | 855.8 KiB/s | 147.2 KiB | 00m00s [173/186] libcbor-0:0.13.0-2.fc44.aarch 100% | 2.1 MiB/s | 34.4 KiB | 00m00s [174/186] libssh-config-0:0.12.2-1.fc44 100% | 70.9 KiB/s | 8.9 KiB | 00m00s [175/186] ngtcp2-crypto-ossl-0:1.22.1-1 100% | 176.8 KiB/s | 26.0 KiB | 00m00s [176/186] selinux-policy-0:44.11-1.fc44 100% | 188.5 KiB/s | 27.0 KiB | 00m00s [177/186] rpm-plugin-selinux-0:6.0.2-1. 100% | 121.1 KiB/s | 17.1 KiB | 00m00s [178/186] selinux-policy-targeted-0:44. 100% | 10.4 MiB/s | 6.8 MiB | 00m01s [179/186] policycoreutils-0:3.11-2.fc44 100% | 804.3 KiB/s | 260.6 KiB | 00m00s [180/186] libselinux-utils-0:3.11-2.fc4 100% | 428.6 KiB/s | 123.4 KiB | 00m00s [181/186] keyutils-libs-0:1.6.3-7.fc44. 100% | 1.3 MiB/s | 31.5 KiB | 00m00s [182/186] libcom_err-0:1.47.3-4.fc44.aa 100% | 1.6 MiB/s | 27.0 KiB | 00m00s [183/186] krb5-libs-0:1.22.2-4.fc44.aar 100% | 2.3 MiB/s | 761.3 KiB | 00m00s [184/186] libverto-0:0.3.2-12.fc44.aarc 100% | 1.3 MiB/s | 20.5 KiB | 00m00s [185/186] libnghttp2-0:1.68.0-5.fc44.aa 100% | 578.0 KiB/s | 74.0 KiB | 00m00s [186/186] gdb-minimal-0:17.2-4.fc44.aar 100% | 1.1 MiB/s | 4.3 MiB | 00m04s -------------------------------------------------------------------------------- [186/186] Total 100% | 5.2 MiB/s | 66.7 MiB | 00m13s Running transaction Importing OpenPGP key 0x6D9F90A6: UserID : "Fedora (44) " Fingerprint: 36F612DCF27F7D1A48A835E4DBFCF71C6D9F90A6 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-44-primary The key was successfully imported. [ 1/188] Verify package files 100% | 765.0 B/s | 186.0 B | 00m00s [ 2/188] Prepare transaction 100% | 2.5 KiB/s | 186.0 B | 00m00s [ 3/188] Installing libgcc-0:16.2.1-2. 100% | 109.4 MiB/s | 224.0 KiB | 00m00s [ 4/188] Installing libssh-config-0:0. 100% | 0.0 B/s | 816.0 B | 00m00s [ 5/188] Installing publicsuffix-list- 100% | 69.4 MiB/s | 71.1 KiB | 00m00s [ 6/188] Installing fedora-release-ide 100% | 867.2 KiB/s | 888.0 B | 00m00s [ 7/188] Installing fedora-gpg-keys-0: 100% | 31.5 MiB/s | 355.3 KiB | 00m00s [ 8/188] Installing fedora-repos-0:44- 100% | 0.0 B/s | 5.7 KiB | 00m00s [ 9/188] Installing fedora-release-com 100% | 12.2 MiB/s | 24.9 KiB | 00m00s [ 10/188] Installing fedora-release-0:4 100% | 15.1 KiB/s | 124.0 B | 00m00s >>> Running sysusers scriptlet: setup-0:2.15.0-28.fc44.noarch >>> Finished sysusers scriptlet: setup-0:2.15.0-28.fc44.noarch >>> Scriptlet output: >>> Creating group 'adm' with GID 4. >>> Creating group 'audio' with GID 63. >>> Creating group 'cdrom' with GID 11. >>> Creating group 'clock' with GID 103. >>> Creating group 'dialout' with GID 18. >>> Creating group 'disk' with GID 6. >>> Creating group 'floppy' with GID 19. >>> Creating group 'ftp' with GID 50. >>> Creating group 'games' with GID 20. >>> Creating group 'input' with GID 104. >>> Creating group 'kmem' with GID 9. >>> Creating group 'kvm' with GID 36. >>> Creating group 'lock' with GID 54. >>> Creating group 'lp' with GID 7. >>> Creating group 'mail' with GID 12. >>> Creating group 'man' with GID 15. >>> Creating group 'mem' with GID 8. >>> Creating group 'nobody' with GID 65534. >>> Creating group 'render' with GID 105. >>> Creating group 'root' with GID 0. >>> Creating group 'sgx' with GID 106. >>> Creating group 'sys' with GID 3. >>> Creating group 'tape' with GID 33. >>> Creating group 'tty' with GID 5. >>> Creating group 'users' with GID 100. >>> Creating group 'utmp' with GID 22. >>> Creating group 'video' with GID 39. >>> Creating group 'wheel' with GID 10. >>> Creating user 'adm' (adm) with UID 3 and GID 4. >>> Creating group 'bin' with GID 1. >>> Creating user 'bin' (bin) with UID 1 and GID 1. >>> Creating group 'daemon' with GID 2. >>> Creating user 'daemon' (daemon) with UID 2 and GID 2. >>> Creating user 'ftp' (FTP User) with UID 14 and GID 50. >>> Creating user 'games' (games) with UID 12 and GID 100. >>> Creating user 'halt' (halt) with UID 7 and GID 0. >>> Creating user 'lp' (lp) with UID 4 and GID 7. >>> Creating user 'mail' (mail) with UID 8 and GID 12. >>> Creating user 'nobody' (Kernel Overflow User) with UID 65534 and GID 65534. >>> Creating user 'operator' (operator) with UID 11 and GID 0. >>> Creating user 'root' (Super User) with UID 0 and GID 0. >>> Creating user 'shutdown' (shutdown) with UID 6 and GID 0. >>> Creating user 'sync' (sync) with UID 5 and GID 0. >>> [ 11/188] Installing setup-0:2.15.0-28. 100% | 39.6 MiB/s | 730.6 KiB | 00m00s >>> [RPM] /etc/hosts created as /etc/hosts.rpmnew [ 12/188] Installing filesystem-0:3.18- 100% | 1.9 MiB/s | 212.8 KiB | 00m00s [ 13/188] Installing rust-srpm-macros-0 100% | 6.2 MiB/s | 6.4 KiB | 00m00s [ 14/188] Installing qt6-srpm-macros-0: 100% | 0.0 B/s | 748.0 B | 00m00s [ 15/188] Installing package-notes-srpm 100% | 0.0 B/s | 2.1 KiB | 00m00s [ 16/188] Installing pkgconf-m4-0:2.5.1 100% | 0.0 B/s | 14.7 KiB | 00m00s [ 17/188] Installing gnulib-l10n-0:2024 100% | 129.3 MiB/s | 661.9 KiB | 00m00s [ 18/188] Installing coreutils-common-0 100% | 296.9 MiB/s | 10.7 MiB | 00m00s [ 19/188] Installing pcre2-syntax-0:10. 100% | 138.8 MiB/s | 284.3 KiB | 00m00s [ 20/188] Installing ncurses-base-0:6.6 100% | 49.6 MiB/s | 355.3 KiB | 00m00s [ 21/188] Installing bash-0:5.3.9-3.fc4 100% | 210.8 MiB/s | 8.4 MiB | 00m00s [ 22/188] Installing glibc-common-0:2.4 100% | 60.2 MiB/s | 1.3 MiB | 00m00s [ 23/188] Installing glibc-gconv-extra- 100% | 365.4 MiB/s | 18.6 MiB | 00m00s [ 24/188] Installing glibc-0:2.43-9.fc4 100% | 148.5 MiB/s | 6.4 MiB | 00m00s [ 25/188] Installing ncurses-libs-0:6.6 100% | 249.2 MiB/s | 1.2 MiB | 00m00s [ 26/188] Installing glibc-minimal-lang 100% | 0.0 B/s | 124.0 B | 00m00s [ 27/188] Installing zlib-ng-compat-0:2 100% | 131.1 MiB/s | 134.2 KiB | 00m00s [ 28/188] Installing bzip2-libs-0:1.0.8 100% | 71.9 MiB/s | 73.6 KiB | 00m00s [ 29/188] Installing libgpg-error-0:1.5 100% | 48.6 MiB/s | 995.5 KiB | 00m00s [ 30/188] Installing libstdc++-0:16.2.1 100% | 297.1 MiB/s | 3.0 MiB | 00m00s [ 31/188] Installing libassuan-0:2.5.7- 100% | 212.6 MiB/s | 217.7 KiB | 00m00s [ 32/188] Installing libgcrypt-0:1.12.2 100% | 240.0 MiB/s | 1.2 MiB | 00m00s [ 33/188] Installing readline-0:8.3-4.f 100% | 276.2 MiB/s | 565.6 KiB | 00m00s [ 34/188] Installing gmp-1:6.3.0-5.fc44 100% | 214.9 MiB/s | 660.1 KiB | 00m00s [ 35/188] Installing xz-libs-1:5.8.2-2. 100% | 260.2 MiB/s | 266.5 KiB | 00m00s [ 36/188] Installing libuuid-0:2.41.5-1 100% | 68.8 MiB/s | 70.4 KiB | 00m00s [ 37/188] Installing libzstd-0:1.5.7-5. 100% | 280.4 MiB/s | 861.5 KiB | 00m00s [ 38/188] Installing elfutils-libelf-0: 100% | 291.7 MiB/s | 1.5 MiB | 00m00s [ 39/188] Installing libacl-0:2.4.0-1.f 100% | 67.1 MiB/s | 68.8 KiB | 00m00s [ 40/188] Installing popt-0:1.19-10.fc4 100% | 36.9 MiB/s | 151.3 KiB | 00m00s [ 41/188] Installing systemd-libs-0:259 100% | 307.7 MiB/s | 2.5 MiB | 00m00s [ 42/188] Installing npth-0:1.8-4.fc44. 100% | 92.2 MiB/s | 94.4 KiB | 00m00s [ 43/188] Installing libblkid-0:2.41.5- 100% | 142.3 MiB/s | 291.5 KiB | 00m00s [ 44/188] Installing libxcrypt-0:4.5.2- 100% | 134.7 MiB/s | 275.9 KiB | 00m00s [ 45/188] Installing libsepol-0:3.11-1. 100% | 264.0 MiB/s | 810.9 KiB | 00m00s [ 46/188] Installing sqlite-libs-0:3.51 100% | 261.2 MiB/s | 1.6 MiB | 00m00s [ 47/188] Installing gnupg2-gpgconf-0:2 100% | 18.6 MiB/s | 323.9 KiB | 00m00s [ 48/188] Installing pcre2-0:10.47-1.fc 100% | 233.0 MiB/s | 715.7 KiB | 00m00s [ 49/188] Installing libselinux-0:3.11- 100% | 130.1 MiB/s | 266.4 KiB | 00m00s [ 50/188] Installing grep-0:3.12-3.fc44 100% | 47.2 MiB/s | 1.0 MiB | 00m00s [ 51/188] Installing sed-0:4.9-7.fc44.a 100% | 41.0 MiB/s | 881.3 KiB | 00m00s [ 52/188] Installing findutils-1:4.10.0 100% | 80.0 MiB/s | 1.9 MiB | 00m00s [ 53/188] Installing json-c-0:0.18-8.fc 100% | 136.5 MiB/s | 139.7 KiB | 00m00s [ 54/188] Installing libtasn1-0:4.21.0- 100% | 217.3 MiB/s | 222.5 KiB | 00m00s [ 55/188] Installing libunistring-0:1.1 100% | 291.0 MiB/s | 1.7 MiB | 00m00s [ 56/188] Installing libidn2-0:2.3.8-3. 100% | 50.3 MiB/s | 566.6 KiB | 00m00s [ 57/188] Installing crypto-policies-0: 100% | 19.2 MiB/s | 157.7 KiB | 00m00s [ 58/188] Installing xz-1:5.8.2-2.fc44. 100% | 57.9 MiB/s | 1.4 MiB | 00m00s [ 59/188] Installing libmount-0:2.41.5- 100% | 205.7 MiB/s | 421.3 KiB | 00m00s [ 60/188] Installing gnupg2-verify-0:2. 100% | 21.0 MiB/s | 365.7 KiB | 00m00s [ 61/188] Installing dwz-0:0.16-3.fc44. 100% | 19.8 MiB/s | 323.8 KiB | 00m00s [ 62/188] Installing mpfr-0:4.2.2-3.fc4 100% | 184.8 MiB/s | 757.1 KiB | 00m00s [ 63/188] Installing gawk-0:5.3.2-3.fc4 100% | 103.2 MiB/s | 2.6 MiB | 00m00s [ 64/188] Installing libksba-0:1.6.7-5. 100% | 195.7 MiB/s | 400.8 KiB | 00m00s [ 65/188] Installing unzip-0:6.0-69.fc4 100% | 29.2 MiB/s | 537.3 KiB | 00m00s [ 66/188] Installing file-libs-0:5.46-1 100% | 594.2 MiB/s | 11.9 MiB | 00m00s [ 67/188] Installing file-0:5.46-10.fc4 100% | 8.6 MiB/s | 141.6 KiB | 00m00s [ 68/188] Installing diffutils-0:3.12-5 100% | 73.8 MiB/s | 1.6 MiB | 00m00s [ 69/188] Installing libeconf-0:0.7.9-3 100% | 80.5 MiB/s | 82.5 KiB | 00m00s [ 70/188] Installing libsmartcols-0:2.4 100% | 220.2 MiB/s | 225.5 KiB | 00m00s [ 71/188] Installing lua-libs-0:5.4.8-5 100% | 161.7 MiB/s | 331.3 KiB | 00m00s [ 72/188] Installing libcap-ng-0:0.9.6- 100% | 159.0 MiB/s | 162.8 KiB | 00m00s [ 73/188] Installing audit-libs-0:4.2.1 100% | 238.9 MiB/s | 489.3 KiB | 00m00s [ 74/188] Installing pam-libs-0:1.7.2-2 100% | 109.9 MiB/s | 225.0 KiB | 00m00s [ 75/188] Installing libcap-0:2.78-1.fc 100% | 27.9 MiB/s | 513.5 KiB | 00m00s [ 76/188] Installing libsemanage-0:3.11 100% | 176.7 MiB/s | 361.8 KiB | 00m00s [ 77/188] Installing alternatives-0:1.3 100% | 5.6 MiB/s | 91.6 KiB | 00m00s [ 78/188] Installing libattr-0:2.6.0-1. 100% | 67.7 MiB/s | 69.3 KiB | 00m00s [ 79/188] Installing libffi-0:3.5.2-2.f 100% | 153.4 MiB/s | 157.1 KiB | 00m00s [ 80/188] Installing p11-kit-0:0.26.5-1 100% | 100.0 MiB/s | 2.8 MiB | 00m00s [ 81/188] Installing p11-kit-trust-0:0. 100% | 21.6 MiB/s | 531.9 KiB | 00m00s [ 82/188] Installing ngtcp2-0:1.22.1-1. 100% | 167.3 MiB/s | 342.7 KiB | 00m00s [ 83/188] Installing openssl-libs-1:3.5 100% | 325.4 MiB/s | 7.5 MiB | 00m00s [ 84/188] Installing coreutils-0:9.10-5 100% | 178.8 MiB/s | 8.2 MiB | 00m00s [ 85/188] Installing ca-certificates-0: 100% | 1.6 MiB/s | 2.5 MiB | 00m02s [ 86/188] Installing gzip-0:1.14-2.fc44 100% | 22.8 MiB/s | 443.0 KiB | 00m00s [ 87/188] Installing libfsverity-0:1.6- 100% | 67.7 MiB/s | 69.3 KiB | 00m00s [ 88/188] Installing rpm-sequoia-0:1.10 100% | 286.5 MiB/s | 2.3 MiB | 00m00s [ 89/188] Installing libevent-0:2.1.13- 100% | 271.7 MiB/s | 1.1 MiB | 00m00s [ 90/188] Installing ngtcp2-crypto-ossl 100% | 66.7 MiB/s | 68.3 KiB | 00m00s [ 91/188] Installing liblastlog2-0:2.41 100% | 19.5 MiB/s | 139.8 KiB | 00m00s [ 92/188] Installing util-linux-core-0: 100% | 91.3 MiB/s | 2.5 MiB | 00m00s [ 93/188] Installing zip-0:3.0-45.fc44. 100% | 39.4 MiB/s | 765.8 KiB | 00m00s [ 94/188] Installing gnupg2-keyboxd-0:2 100% | 32.7 MiB/s | 234.5 KiB | 00m00s [ 95/188] Installing libpsl-0:0.21.5-7. 100% | 130.3 MiB/s | 133.4 KiB | 00m00s [ 96/188] Installing tar-2:1.35-9.fc44. 100% | 111.3 MiB/s | 3.0 MiB | 00m00s [ 97/188] Installing linkdupes-0:0.7.3- 100% | 38.8 MiB/s | 715.1 KiB | 00m00s [ 98/188] Installing libselinux-utils-0 100% | 64.6 MiB/s | 1.4 MiB | 00m00s [ 99/188] Installing systemd-standalone 100% | 19.0 MiB/s | 330.2 KiB | 00m00s [100/188] Installing rpm-libs-0:6.0.2-1 100% | 243.3 MiB/s | 996.7 KiB | 00m00s [101/188] Installing libfdisk-0:2.41.5- 100% | 136.7 MiB/s | 419.9 KiB | 00m00s [102/188] Installing util-linux-0:2.41. 100% | 137.1 MiB/s | 6.9 MiB | 00m00s [103/188] Installing policycoreutils-0: 100% | 43.7 MiB/s | 1.5 MiB | 00m00s [104/188] Installing selinux-policy-0:4 100% | 1.3 MiB/s | 34.5 KiB | 00m00s [105/188] Installing selinux-policy-tar 100% | 126.3 MiB/s | 14.9 MiB | 00m00s [106/188] Installing libusb1-0:1.0.30-1 100% | 17.7 MiB/s | 181.4 KiB | 00m00s >>> Running sysusers scriptlet: tpm2-tss-0:4.1.3-9.fc44.aarch64 >>> Finished sysusers scriptlet: tpm2-tss-0:4.1.3-9.fc44.aarch64 >>> Scriptlet output: >>> Creating group 'tss' with GID 59. >>> Creating user 'tss' (Account used for TPM access) with UID 59 and GID 59. >>> [107/188] Installing tpm2-tss-0:4.1.3-9 100% | 239.7 MiB/s | 2.2 MiB | 00m00s [108/188] Installing ima-evm-utils-libs 100% | 91.7 MiB/s | 93.9 KiB | 00m00s [109/188] Installing gnupg2-gpg-agent-0 100% | 32.0 MiB/s | 850.9 KiB | 00m00s [110/188] Installing zstd-0:1.5.7-5.fc4 100% | 27.6 MiB/s | 565.8 KiB | 00m00s [111/188] Installing libxml2-0:2.12.10- 100% | 82.2 MiB/s | 1.9 MiB | 00m00s [112/188] Installing nettle-0:3.10.1-3. 100% | 187.5 MiB/s | 768.2 KiB | 00m00s [113/188] Installing gnutls-0:3.8.13-1. 100% | 285.4 MiB/s | 3.7 MiB | 00m00s [114/188] Installing bzip2-0:1.0.8-23.f 100% | 10.1 MiB/s | 175.6 KiB | 00m00s [115/188] Installing add-determinism-0: 100% | 89.6 MiB/s | 2.0 MiB | 00m00s [116/188] Installing build-reproducibil 100% | 1.5 MiB/s | 1.5 KiB | 00m00s [117/188] Installing cpio-0:2.15-9.fc44 100% | 49.8 MiB/s | 1.1 MiB | 00m00s [118/188] Installing ed-0:1.22.5-2.fc44 100% | 9.2 MiB/s | 160.1 KiB | 00m00s [119/188] Installing patch-0:2.8-4.fc44 100% | 15.2 MiB/s | 263.9 KiB | 00m00s [120/188] Installing libpkgconf-0:2.5.1 100% | 132.0 MiB/s | 135.2 KiB | 00m00s [121/188] Installing pkgconf-0:2.5.1-1. 100% | 6.9 MiB/s | 119.3 KiB | 00m00s [122/188] Installing pkgconf-pkg-config 100% | 110.8 KiB/s | 1.8 KiB | 00m00s [123/188] Installing libgomp-0:16.2.1-2 100% | 290.2 MiB/s | 594.3 KiB | 00m00s [124/188] Installing jansson-0:2.14-4.f 100% | 92.2 MiB/s | 94.4 KiB | 00m00s [125/188] Installing lz4-libs-0:1.10.0- 100% | 193.7 MiB/s | 198.4 KiB | 00m00s [126/188] Installing libarchive-0:3.8.7 100% | 238.7 MiB/s | 977.5 KiB | 00m00s [127/188] Installing libtool-ltdl-0:2.5 100% | 92.8 MiB/s | 95.0 KiB | 00m00s [128/188] Installing gdbm-libs-1:1.23-1 100% | 114.9 MiB/s | 235.4 KiB | 00m00s [129/188] Installing cyrus-sasl-lib-0:2 100% | 100.7 MiB/s | 2.4 MiB | 00m00s [130/188] Installing openldap-0:2.6.15- 100% | 187.8 MiB/s | 769.4 KiB | 00m00s [131/188] Installing gnupg2-dirmngr-0:2 100% | 25.3 MiB/s | 648.9 KiB | 00m00s [132/188] Installing gnupg2-0:2.4.9-16. 100% | 174.5 MiB/s | 6.5 MiB | 00m00s [133/188] Installing rpm-sign-libs-0:6. 100% | 66.9 MiB/s | 68.5 KiB | 00m00s [134/188] Installing gpgverify-0:2.2-4. 100% | 9.2 MiB/s | 9.4 KiB | 00m00s [135/188] Installing libpfm-0:4.13.0-20 100% | 247.4 MiB/s | 253.3 KiB | 00m00s [136/188] Installing xxhash-libs-0:0.8. 100% | 85.1 MiB/s | 87.2 KiB | 00m00s [137/188] Installing libbrotli-0:1.2.0- 100% | 222.5 MiB/s | 911.3 KiB | 00m00s [138/188] Installing libnghttp3-0:1.18. 100% | 203.3 MiB/s | 208.2 KiB | 00m00s [139/188] Installing libcbor-0:0.13.0-2 100% | 137.6 MiB/s | 140.9 KiB | 00m00s [140/188] Installing libfido2-0:1.16.0- 100% | 136.8 MiB/s | 280.1 KiB | 00m00s [141/188] Installing keyutils-libs-0:1. 100% | 97.3 MiB/s | 99.6 KiB | 00m00s [142/188] Installing libcom_err-0:1.47. 100% | 109.5 MiB/s | 112.1 KiB | 00m00s [143/188] Installing libverto-0:0.3.2-1 100% | 69.4 MiB/s | 71.1 KiB | 00m00s [144/188] Installing krb5-libs-0:1.22.2 100% | 253.4 MiB/s | 2.5 MiB | 00m00s [145/188] Installing libssh-0:0.12.2-1. 100% | 235.5 MiB/s | 723.4 KiB | 00m00s [146/188] Installing libnghttp2-0:1.68. 100% | 194.4 MiB/s | 199.1 KiB | 00m00s [147/188] Installing libcurl-0:8.18.0-1 100% | 239.8 MiB/s | 982.0 KiB | 00m00s [148/188] Installing curl-0:8.18.0-14.f 100% | 16.3 MiB/s | 466.8 KiB | 00m00s [149/188] Installing rpm-0:6.0.2-1.fc44 100% | 62.1 MiB/s | 2.8 MiB | 00m00s [150/188] Installing cmake-srpm-macros- 100% | 785.2 KiB/s | 804.0 B | 00m00s [151/188] Installing efi-srpm-macros-0: 100% | 40.2 MiB/s | 41.2 KiB | 00m00s [152/188] Installing java-srpm-macros-0 100% | 0.0 B/s | 1.1 KiB | 00m00s [153/188] Installing lua-srpm-macros-0: 100% | 0.0 B/s | 1.9 KiB | 00m00s [154/188] Installing tree-sitter-srpm-m 100% | 9.1 MiB/s | 9.3 KiB | 00m00s [155/188] Installing zig-srpm-macros-0: 100% | 1.8 MiB/s | 1.9 KiB | 00m00s [156/188] Installing filesystem-srpm-ma 100% | 38.0 MiB/s | 38.9 KiB | 00m00s [157/188] Installing elfutils-default-y 100% | 340.5 KiB/s | 2.0 KiB | 00m00s [158/188] Installing elfutils-libs-0:0. 100% | 182.7 MiB/s | 748.5 KiB | 00m00s [159/188] Installing elfutils-debuginfo 100% | 7.9 MiB/s | 146.1 KiB | 00m00s [160/188] Installing elfutils-0:0.196-1 100% | 135.0 MiB/s | 3.8 MiB | 00m00s [161/188] Installing binutils-0:2.46.1- 100% | 294.3 MiB/s | 31.5 MiB | 00m00s [162/188] Installing gdb-minimal-0:17.2 100% | 241.7 MiB/s | 13.5 MiB | 00m00s [163/188] Installing debugedit-0:5.3-2. 100% | 17.6 MiB/s | 324.2 KiB | 00m00s [164/188] Installing rpm-build-libs-0:6 100% | 129.4 MiB/s | 264.9 KiB | 00m00s [165/188] Installing gnome-srpm-macros- 100% | 0.0 B/s | 4.1 KiB | 00m00s [166/188] Installing qt5-srpm-macros-0: 100% | 0.0 B/s | 776.0 B | 00m00s [167/188] Installing perl-srpm-macros-0 100% | 0.0 B/s | 1.1 KiB | 00m00s [168/188] Installing openblas-srpm-macr 100% | 0.0 B/s | 392.0 B | 00m00s [169/188] Installing ocaml-srpm-macros- 100% | 0.0 B/s | 2.1 KiB | 00m00s [170/188] Installing kernel-srpm-macros 100% | 0.0 B/s | 2.3 KiB | 00m00s [171/188] Installing gnat-srpm-macros-0 100% | 0.0 B/s | 1.3 KiB | 00m00s [172/188] Installing ghc-srpm-macros-0: 100% | 0.0 B/s | 1.0 KiB | 00m00s [173/188] Installing gap-srpm-macros-0: 100% | 0.0 B/s | 2.7 KiB | 00m00s [174/188] Installing fpc-srpm-macros-0: 100% | 0.0 B/s | 420.0 B | 00m00s [175/188] Installing ansible-srpm-macro 100% | 35.4 MiB/s | 36.2 KiB | 00m00s [176/188] Installing redhat-rpm-config- 100% | 61.8 MiB/s | 189.9 KiB | 00m00s [177/188] Installing forge-srpm-macros- 100% | 39.3 MiB/s | 40.3 KiB | 00m00s [178/188] Installing rpm-build-0:6.0.2- 100% | 29.7 MiB/s | 607.8 KiB | 00m00s [179/188] Installing erlang-srpm-macros 100% | 429.7 KiB/s | 2.6 KiB | 00m00s [180/188] Installing pyproject-srpm-mac 100% | 3.9 MiB/s | 4.0 KiB | 00m00s [181/188] Installing fonts-srpm-macros- 100% | 55.7 MiB/s | 57.0 KiB | 00m00s [182/188] Installing go-srpm-macros-0:3 100% | 61.6 MiB/s | 63.0 KiB | 00m00s [183/188] Installing python-srpm-macros 100% | 51.7 MiB/s | 52.9 KiB | 00m00s [184/188] Installing R-srpm-macros-0:1. 100% | 0.0 B/s | 4.4 KiB | 00m00s [185/188] Installing rpm-plugin-selinux 100% | 67.3 MiB/s | 68.9 KiB | 00m00s [186/188] Installing which-0:2.25-1.fc4 100% | 6.5 MiB/s | 125.8 KiB | 00m00s [187/188] Installing shadow-utils-2:4.1 100% | 102.1 MiB/s | 4.5 MiB | 00m00s [188/188] Installing info-0:7.2-9.fc44. 100% | 50.9 KiB/s | 421.9 KiB | 00m08s Complete! Finish: installing minimal buildroot with dnf5 Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: R-srpm-macros-1.3.7-2.fc44.noarch add-determinism-0.7.3-2.fc44.aarch64 alternatives-1.33-5.fc44.aarch64 ansible-srpm-macros-1-20.1.fc44.noarch audit-libs-4.2.1-1.fc44.aarch64 bash-5.3.9-3.fc44.aarch64 binutils-2.46.1-1.fc44.aarch64 build-reproducibility-srpm-macros-0.7.3-2.fc44.noarch bzip2-1.0.8-23.fc44.aarch64 bzip2-libs-1.0.8-23.fc44.aarch64 ca-certificates-2026.2.92_v9.0.319-2.fc44.noarch cmake-srpm-macros-4.3.0-1.fc44.noarch coreutils-9.10-5.fc44.aarch64 coreutils-common-9.10-5.fc44.aarch64 cpio-2.15-9.fc44.aarch64 crypto-policies-20251128-3.git19878fe.fc44.noarch curl-8.18.0-14.fc44.aarch64 cyrus-sasl-lib-2.1.28-35.fc44.aarch64 debugedit-5.3-2.fc44.aarch64 diffutils-3.12-5.fc44.aarch64 dwz-0.16-3.fc44.aarch64 ed-1.22.5-2.fc44.aarch64 efi-srpm-macros-6-6.fc44.noarch elfutils-0.196-1.fc44.aarch64 elfutils-debuginfod-client-0.196-1.fc44.aarch64 elfutils-default-yama-scope-0.196-1.fc44.noarch elfutils-libelf-0.196-1.fc44.aarch64 elfutils-libs-0.196-1.fc44.aarch64 erlang-srpm-macros-0.4.0-1.fc44.noarch fedora-gpg-keys-44-2.noarch fedora-release-44-18.noarch fedora-release-common-44-18.noarch fedora-release-identity-basic-44-18.noarch fedora-repos-44-2.noarch file-5.46-10.fc44.aarch64 file-libs-5.46-10.fc44.aarch64 filesystem-3.18-52.fc44.aarch64 filesystem-srpm-macros-3.18-52.fc44.noarch findutils-4.10.0-7.fc44.aarch64 fonts-srpm-macros-5.0.0-2.fc44.noarch forge-srpm-macros-0.4.0-4.fc44.noarch fpc-srpm-macros-1.3-16.fc44.noarch gap-srpm-macros-2-2.fc44.noarch gawk-5.3.2-3.fc44.aarch64 gdb-minimal-17.2-4.fc44.aarch64 gdbm-libs-1.23-11.fc44.aarch64 ghc-srpm-macros-1.10-1.fc44.noarch glibc-2.43-9.fc44.aarch64 glibc-common-2.43-9.fc44.aarch64 glibc-gconv-extra-2.43-9.fc44.aarch64 glibc-minimal-langpack-2.43-9.fc44.aarch64 gmp-6.3.0-5.fc44.aarch64 gnat-srpm-macros-7-2.fc44.noarch gnome-srpm-macros-1.0-1.fc44.noarch gnulib-l10n-20241231-2.fc44.noarch gnupg2-2.4.9-16.fc44.aarch64 gnupg2-dirmngr-2.4.9-16.fc44.aarch64 gnupg2-gpg-agent-2.4.9-16.fc44.aarch64 gnupg2-gpgconf-2.4.9-16.fc44.aarch64 gnupg2-keyboxd-2.4.9-16.fc44.aarch64 gnupg2-verify-2.4.9-16.fc44.aarch64 gnutls-3.8.13-1.fc44.aarch64 go-srpm-macros-3.8.0-2.fc44.noarch gpg-pubkey-36f612dcf27f7d1a48a835e4dbfcf71c6d9f90a6-6786af3b gpgverify-2.2-4.fc44.noarch grep-3.12-3.fc44.aarch64 gzip-1.14-2.fc44.aarch64 ima-evm-utils-libs-1.6.2-8.fc44.aarch64 info-7.2-9.fc44.aarch64 jansson-2.14-4.fc44.aarch64 java-srpm-macros-1-8.fc44.noarch json-c-0.18-8.fc44.aarch64 kernel-srpm-macros-1.0-28.fc44.noarch keyutils-libs-1.6.3-7.fc44.aarch64 krb5-libs-1.22.2-4.fc44.aarch64 libacl-2.4.0-1.fc44.aarch64 libarchive-3.8.7-1.fc44.aarch64 libassuan-2.5.7-5.fc44.aarch64 libattr-2.6.0-1.fc44.aarch64 libblkid-2.41.5-1.fc44.aarch64 libbrotli-1.2.0-3.fc44.aarch64 libcap-2.78-1.fc44.aarch64 libcap-ng-0.9.6-1.fc44.aarch64 libcbor-0.13.0-2.fc44.aarch64 libcom_err-1.47.3-4.fc44.aarch64 libcurl-8.18.0-14.fc44.aarch64 libeconf-0.7.9-3.fc44.aarch64 libevent-2.1.13-1.fc44.aarch64 libfdisk-2.41.5-1.fc44.aarch64 libffi-3.5.2-2.fc44.aarch64 libfido2-1.16.0-5.fc44.aarch64 libfsverity-1.6-4.fc44.aarch64 libgcc-16.2.1-2.fc44.aarch64 libgcrypt-1.12.2-1.fc44.aarch64 libgomp-16.2.1-2.fc44.aarch64 libgpg-error-1.58-2.fc44.aarch64 libidn2-2.3.8-3.fc44.aarch64 libksba-1.6.7-5.fc44.aarch64 liblastlog2-2.41.5-1.fc44.aarch64 libmount-2.41.5-1.fc44.aarch64 libnghttp2-1.68.0-5.fc44.aarch64 libnghttp3-1.18.0-1.fc44.aarch64 libpfm-4.13.0-20.fc44.aarch64 libpkgconf-2.5.1-1.fc44.aarch64 libpsl-0.21.5-7.fc44.aarch64 libselinux-3.11-2.fc44.aarch64 libselinux-utils-3.11-2.fc44.aarch64 libsemanage-3.11-1.fc44.aarch64 libsepol-3.11-1.fc44.aarch64 libsmartcols-2.41.5-1.fc44.aarch64 libssh-0.12.2-1.fc44.aarch64 libssh-config-0.12.2-1.fc44.noarch libstdc++-16.2.1-2.fc44.aarch64 libtasn1-4.21.0-1.fc44.aarch64 libtool-ltdl-2.5.4-10.fc44.aarch64 libunistring-1.1-11.fc44.aarch64 libusb1-1.0.30-1.fc44.aarch64 libuuid-2.41.5-1.fc44.aarch64 libverto-0.3.2-12.fc44.aarch64 libxcrypt-4.5.2-3.fc44.aarch64 libxml2-2.12.10-6.fc44.aarch64 libzstd-1.5.7-5.fc44.aarch64 linkdupes-0.7.3-2.fc44.aarch64 lua-libs-5.4.8-5.fc44.aarch64 lua-srpm-macros-1-17.fc44.noarch lz4-libs-1.10.0-4.fc44.aarch64 mpfr-4.2.2-3.fc44.aarch64 ncurses-base-6.6-1.fc44.noarch ncurses-libs-6.6-1.fc44.aarch64 nettle-3.10.1-3.fc44.aarch64 ngtcp2-1.22.1-1.fc44.aarch64 ngtcp2-crypto-ossl-1.22.1-1.fc44.aarch64 npth-1.8-4.fc44.aarch64 ocaml-srpm-macros-11-3.fc44.noarch openblas-srpm-macros-2-21.fc44.noarch openldap-2.6.15-1.fc44.aarch64 openssl-libs-3.5.9-1.fc44.aarch64 p11-kit-0.26.5-1.fc44.aarch64 p11-kit-trust-0.26.5-1.fc44.aarch64 package-notes-srpm-macros-0.20-1.fc44.noarch pam-libs-1.7.2-2.fc44.aarch64 patch-2.8-4.fc44.aarch64 pcre2-10.47-1.fc44.1.aarch64 pcre2-syntax-10.47-1.fc44.1.noarch perl-srpm-macros-1-61.fc44.noarch pkgconf-2.5.1-1.fc44.aarch64 pkgconf-m4-2.5.1-1.fc44.noarch pkgconf-pkg-config-2.5.1-1.fc44.aarch64 policycoreutils-3.11-2.fc44.aarch64 popt-1.19-10.fc44.aarch64 publicsuffix-list-dafsa-20260116-1.fc44.noarch pyproject-srpm-macros-1.24.0-1.fc44.noarch python-srpm-macros-3.14-12.fc44.noarch qt5-srpm-macros-5.15.18-2.fc44.noarch qt6-srpm-macros-6.11.2-1.fc44.noarch readline-8.3-4.fc44.aarch64 redhat-rpm-config-344-2.fc44.noarch rpm-6.0.2-1.fc44.aarch64 rpm-build-6.0.2-1.fc44.aarch64 rpm-build-libs-6.0.2-1.fc44.aarch64 rpm-libs-6.0.2-1.fc44.aarch64 rpm-plugin-selinux-6.0.2-1.fc44.aarch64 rpm-sequoia-1.10.3-1.fc44.aarch64 rpm-sign-libs-6.0.2-1.fc44.aarch64 rust-srpm-macros-28.5-1.fc44.noarch sed-4.9-7.fc44.aarch64 selinux-policy-44.11-1.fc44.noarch selinux-policy-targeted-44.11-1.fc44.noarch setup-2.15.0-28.fc44.noarch shadow-utils-4.19.0-7.fc44.aarch64 sqlite-libs-3.51.2-2.fc44.aarch64 systemd-libs-259.10-1.fc44.aarch64 systemd-standalone-sysusers-259.10-1.fc44.aarch64 tar-1.35-9.fc44.aarch64 tpm2-tss-4.1.3-9.fc44.aarch64 tree-sitter-srpm-macros-0.4.2-2.fc44.noarch unzip-6.0-69.fc44.aarch64 util-linux-2.41.5-1.fc44.aarch64 util-linux-core-2.41.5-1.fc44.aarch64 which-2.25-1.fc44.aarch64 xxhash-libs-0.8.4-1.fc44.aarch64 xz-5.8.2-2.fc44.aarch64 xz-libs-5.8.2-2.fc44.aarch64 zig-srpm-macros-1-8.fc44.noarch zip-3.0-45.fc44.aarch64 zlib-ng-compat-2.3.3-3.fc44.aarch64 zstd-1.5.7-5.fc44.aarch64 Start: buildsrpm Start: rpmbuild -bs Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1792713600 Wrote: /builddir/build/SRPMS/libroadrunner-2.11.0-1.fc44.src.rpm Finish: rpmbuild -bs INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-44-aarch64-1792804412.242957/root/var/log/dnf5.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names Finish: buildsrpm INFO: Done(/var/lib/copr-rpmbuild/workspace/workdir-8cqh0dbx/libroadrunner/libroadrunner.spec) Config(child) 0 minutes 50 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot INFO: Start(/var/lib/copr-rpmbuild/results/libroadrunner-2.11.0-1.fc44.src.rpm) Config(fedora-44-aarch64) Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-44-aarch64-bootstrap-1792804412.242957/root. INFO: reusing tmpfs at /var/lib/mock/fedora-44-aarch64-bootstrap-1792804412.242957/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-44-aarch64-1792804412.242957/root. INFO: calling preinit hooks INFO: enabled root cache Start: unpacking root cache Finish: unpacking root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-6.0.2-1.fc44.aarch64 rpm-sequoia-1.10.3-1.fc44.aarch64 dnf5-5.4.6.0-1.fc44.aarch64 dnf5-plugins-5.4.6.0-1.fc44.aarch64 Finish: chroot init Start: build phase for libroadrunner-2.11.0-1.fc44.src.rpm Start: build setup for libroadrunner-2.11.0-1.fc44.src.rpm Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1792713600 Wrote: /builddir/build/SRPMS/libroadrunner-2.11.0-1.fc44.src.rpm Updating and loading repositories: updates 100% | 43.8 KiB/s | 9.2 KiB | 00m00s fedora 100% | 48.4 KiB/s | 10.2 KiB | 00m00s Additional repo copr_mhough_neurofedor 100% | 8.4 KiB/s | 1.5 KiB | 00m00s Copr repository 100% | 8.4 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing: blas-devel aarch64 0:3.12.0-11.fc44 fedora 131.9 KiB chrpath aarch64 0:0.16-28.fc44 fedora 102.2 KiB cmake aarch64 0:4.3.0-1.fc44 fedora 32.9 MiB expat-devel aarch64 0:2.8.5-1.fc44 updates 237.3 KiB f2c aarch64 0:20210928-12.fc44 fedora 711.5 KiB gcc-c++ aarch64 0:16.2.1-2.fc44 updates 44.8 MiB lapack-devel aarch64 0:3.12.0-11.fc44 fedora 1.6 MiB libsbml-devel aarch64 0:5.20.5-12.fc44 updates 373.4 MiB llvm13-devel aarch64 0:13.0.1-8.fc41 fedora 20.2 MiB ncurses-devel aarch64 0:6.6-1.fc44 fedora 895.6 KiB ninja-build aarch64 0:1.13.2-2.fc44 fedora 467.8 KiB poco-devel aarch64 0:1.14.1-3.fc44 fedora 6.4 MiB python3-devel aarch64 0:3.14.8-1.fc44 updates 2.0 MiB python3-libsbml aarch64 0:5.20.5-12.fc44 updates 32.8 MiB python3-numpy aarch64 1:2.4.6-1.fc44 updates 36.3 MiB python3-pytest noarch 0:8.4.2-2.fc44 fedora 22.5 MiB rr-libstruct-devel aarch64 0:2.9.2-0.4.git7ff1f47.fc44 copr_base 184.7 KiB sbml-test-corpus noarch 0:20260923-1.fc44 copr_base 813.3 KiB sundials-devel aarch64 0:7.6.0-1.fc44 fedora 29.9 MiB swig aarch64 0:4.4.1-4.fc44 updates 6.0 MiB zlib-ng-compat-static aarch64 0:2.3.3-3.fc44 fedora 1.2 MiB Installing dependencies: annobin-docs noarch 0:13.14-1.fc44 updates 99.3 KiB annobin-plugin-gcc aarch64 0:13.14-1.fc44 updates 711.3 KiB blas aarch64 0:3.12.0-11.fc44 fedora 1.2 MiB blas64 aarch64 0:3.12.0-11.fc44 fedora 814.3 KiB blas64_ aarch64 0:3.12.0-11.fc44 fedora 817.2 KiB cmake-data noarch 0:4.3.0-1.fc44 fedora 9.4 MiB cmake-filesystem aarch64 0:4.3.0-1.fc44 fedora 0.0 B cmake-rpm-macros noarch 0:4.3.0-1.fc44 fedora 8.4 KiB cpp aarch64 0:16.2.1-2.fc44 updates 40.8 MiB emacs-filesystem aarch64 1:30.2-2.fc44 fedora 0.0 B expat aarch64 0:2.8.5-1.fc44 updates 386.2 KiB f2c-libs aarch64 0:20210928-12.fc44 fedora 152.7 KiB flexiblas aarch64 0:3.5.0-2.fc44 fedora 38.0 KiB flexiblas-netlib aarch64 0:3.5.0-2.fc44 fedora 14.2 MiB flexiblas-openblas-openmp aarch64 0:3.5.0-2.fc44 fedora 67.2 KiB gcc aarch64 0:16.2.1-2.fc44 updates 112.5 MiB gcc-gfortran aarch64 0:16.2.1-2.fc44 updates 43.2 MiB gcc-plugin-annobin aarch64 0:16.2.1-2.fc44 updates 69.2 KiB glibc-devel aarch64 0:2.43-9.fc44 updates 2.3 MiB jsoncpp aarch64 0:1.9.6-3.fc44 fedora 271.7 KiB kernel-headers aarch64 0:7.2.4-200.fc44 updates 6.9 MiB lapack aarch64 0:3.12.0-11.fc44 fedora 14.9 MiB lapack64 aarch64 0:3.12.0-11.fc44 fedora 7.8 MiB lapack64_ aarch64 0:3.12.0-11.fc44 fedora 7.8 MiB libasan aarch64 0:16.2.1-2.fc44 updates 1.5 MiB libatomic aarch64 0:16.2.1-2.fc44 updates 77.7 KiB libedit aarch64 0:3.1-59.20260512cvs.fc44 updates 280.3 KiB libedit-devel aarch64 0:3.1-59.20260512cvs.fc44 updates 59.9 KiB libgfortran aarch64 0:16.2.1-2.fc44 updates 1.7 MiB libiodbc aarch64 0:3.52.16-4.fc44 fedora 791.0 KiB libmpc aarch64 0:1.4.1-1.fc44 updates 216.8 KiB libpng aarch64 2:1.6.58-1.fc44 updates 269.7 KiB libpq aarch64 0:18.0-4.fc44 fedora 1.0 MiB libsbml aarch64 0:5.20.5-12.fc44 updates 9.6 MiB libstdc++-devel aarch64 0:16.2.1-2.fc44 updates 40.4 MiB libubsan aarch64 0:16.2.1-2.fc44 updates 475.9 KiB libuv aarch64 1:1.52.1-2.fc44 updates 616.4 KiB libxcrypt-devel aarch64 0:4.5.2-3.fc44 fedora 31.0 KiB libxml2-devel aarch64 0:2.12.10-6.fc44 fedora 3.4 MiB llvm13 aarch64 0:13.0.1-8.fc41 fedora 40.7 MiB llvm13-libs aarch64 0:13.0.1-8.fc41 fedora 81.3 MiB llvm13-static aarch64 0:13.0.1-8.fc41 fedora 217.5 MiB make aarch64 1:4.4.1-12.fc44 fedora 1.8 MiB mariadb-connector-c aarch64 0:3.4.9-2.fc44 updates 993.9 KiB mariadb-connector-c-config noarch 0:3.4.9-2.fc44 updates 26.4 KiB minizip-ng-compat aarch64 0:4.1.0-1.fc44 fedora 198.4 KiB mpdecimal aarch64 0:4.0.1-3.fc44 fedora 281.1 KiB ncurses-c++-libs aarch64 0:6.6-1.fc44 fedora 265.3 KiB openblas aarch64 0:0.3.29-2.fc43 fedora 111.7 KiB openblas-openmp aarch64 0:0.3.29-2.fc43 fedora 20.4 MiB openblas-serial aarch64 0:0.3.29-2.fc43 fedora 19.4 MiB openssl-devel aarch64 1:3.5.9-1.fc44 updates 4.5 MiB pcre2-devel aarch64 0:10.47-1.fc44.1 fedora 2.1 MiB pcre2-utf16 aarch64 0:10.47-1.fc44.1 fedora 582.9 KiB pcre2-utf32 aarch64 0:10.47-1.fc44.1 fedora 582.9 KiB poco-activerecord aarch64 0:1.14.1-3.fc44 fedora 67.8 KiB poco-cppparser aarch64 0:1.14.1-3.fc44 fedora 261.2 KiB poco-crypto aarch64 0:1.14.1-3.fc44 fedora 326.0 KiB poco-data aarch64 0:1.14.1-3.fc44 fedora 2.4 MiB poco-encodings aarch64 0:1.14.1-3.fc44 fedora 900.4 KiB poco-foundation aarch64 0:1.14.1-3.fc44 fedora 2.2 MiB poco-json aarch64 0:1.14.1-3.fc44 fedora 395.4 KiB poco-jwt aarch64 0:1.14.1-3.fc44 fedora 199.5 KiB poco-mongodb aarch64 0:1.14.1-3.fc44 fedora 262.8 KiB poco-mysql aarch64 0:1.14.1-3.fc44 fedora 261.6 KiB poco-net aarch64 0:1.14.1-3.fc44 fedora 1.4 MiB poco-netssl aarch64 0:1.14.1-3.fc44 fedora 326.4 KiB poco-odbc aarch64 0:1.14.1-3.fc44 fedora 1.1 MiB poco-pdf aarch64 0:1.14.1-3.fc44 fedora 1.1 MiB poco-postgresql aarch64 0:1.14.1-3.fc44 fedora 521.5 KiB poco-prometheus aarch64 0:1.14.1-3.fc44 fedora 198.2 KiB poco-redis aarch64 0:1.14.1-3.fc44 fedora 196.9 KiB poco-sqlite aarch64 0:1.14.1-3.fc44 fedora 587.6 KiB poco-util aarch64 0:1.14.1-3.fc44 fedora 521.3 KiB poco-xml aarch64 0:1.14.1-3.fc44 fedora 583.1 KiB poco-zip aarch64 0:1.14.1-3.fc44 fedora 262.6 KiB pyproject-rpm-macros noarch 0:1.24.0-1.fc44 updates 169.0 KiB python-pip-wheel noarch 0:26.0.1-3.fc44 updates 1.2 MiB python-rpm-macros noarch 0:3.14-12.fc44 fedora 28.0 KiB python3 aarch64 0:3.14.8-1.fc44 updates 84.7 KiB python3-iniconfig noarch 0:2.3.0-2.fc44 fedora 49.8 KiB python3-libs aarch64 0:3.14.8-1.fc44 updates 45.7 MiB python3-numpy-f2py aarch64 1:2.4.6-1.fc44 updates 2.1 MiB python3-packaging noarch 0:25.0-8.fc44 fedora 607.4 KiB python3-pluggy noarch 0:1.6.0-5.fc44 fedora 211.5 KiB python3-pygments noarch 0:2.19.1-9.fc44 fedora 11.3 MiB python3-rpm-generators noarch 0:14-14.fc44 fedora 81.7 KiB python3-rpm-macros noarch 0:3.14-12.fc44 fedora 6.5 KiB rhash aarch64 0:1.4.5-4.fc44 fedora 394.5 KiB rr-libstruct aarch64 0:2.9.2-0.4.git7ff1f47.fc44 copr_base 261.1 KiB suitesparse aarch64 0:7.11.0-2.fc44 fedora 37.5 MiB suitesparse64 aarch64 0:7.11.0-2.fc44 fedora 37.5 MiB sundials aarch64 0:7.6.0-1.fc44 fedora 6.0 MiB tzdata noarch 0:2026e-1.fc44 updates 1.3 MiB utf8proc aarch64 0:2.11.3-2.fc44 fedora 413.5 KiB utf8proc-devel aarch64 0:2.11.3-2.fc44 fedora 33.5 KiB vim-filesystem noarch 2:9.2.1202-1.fc44 updates 40.0 B xz-devel aarch64 1:5.8.2-2.fc44 fedora 258.8 KiB zlib-ng-compat-devel aarch64 0:2.3.3-3.fc44 fedora 107.0 KiB Transaction Summary: Installing: 120 packages Total size of inbound packages is 310 MiB. Need to download 310 MiB. After this operation, 1 GiB extra will be used (install 1 GiB, remove 0 B). [ 1/120] chrpath-0:0.16-28.fc44.aarch6 100% | 160.5 KiB/s | 29.7 KiB | 00m00s [ 2/120] blas-devel-0:3.12.0-11.fc44.a 100% | 119.1 KiB/s | 26.7 KiB | 00m00s [ 3/120] f2c-0:20210928-12.fc44.aarch6 100% | 1.7 MiB/s | 313.0 KiB | 00m00s [ 4/120] lapack-devel-0:3.12.0-11.fc44 100% | 647.6 KiB/s | 90.0 KiB | 00m00s [ 5/120] llvm13-devel-0:13.0.1-8.fc41. 100% | 15.6 MiB/s | 3.4 MiB | 00m00s [ 6/120] ncurses-devel-0:6.6-1.fc44.aa 100% | 2.4 MiB/s | 591.2 KiB | 00m00s [ 7/120] ninja-build-0:1.13.2-2.fc44.a 100% | 5.3 MiB/s | 183.3 KiB | 00m00s [ 8/120] cmake-0:4.3.0-1.fc44.aarch64 100% | 14.6 MiB/s | 10.8 MiB | 00m01s [ 9/120] poco-devel-0:1.14.1-3.fc44.aa 100% | 8.9 MiB/s | 1.2 MiB | 00m00s [ 10/120] python3-pytest-0:8.4.2-2.fc44 100% | 7.1 MiB/s | 2.3 MiB | 00m00s [ 11/120] rr-libstruct-devel-0:2.9.2-0. 100% | 126.3 KiB/s | 32.2 KiB | 00m00s [ 12/120] expat-devel-0:2.8.5-1.fc44.aa 100% | 935.5 KiB/s | 56.1 KiB | 00m00s [ 13/120] sundials-devel-0:7.6.0-1.fc44 100% | 8.9 MiB/s | 3.9 MiB | 00m00s [ 14/120] gcc-c++-0:16.2.1-2.fc44.aarch 100% | 78.0 MiB/s | 15.9 MiB | 00m00s [ 15/120] python3-devel-0:3.14.8-1.fc44 100% | 18.7 MiB/s | 439.3 KiB | 00m00s [ 16/120] zlib-ng-compat-static-0:2.3.3 100% | 829.7 KiB/s | 302.0 KiB | 00m00s [ 17/120] python3-libsbml-0:5.20.5-12.f 100% | 36.4 MiB/s | 4.2 MiB | 00m00s [ 18/120] python3-numpy-1:2.4.6-1.fc44. 100% | 54.4 MiB/s | 7.0 MiB | 00m00s [ 19/120] sbml-test-corpus-0:20260923-1 100% | 416.4 KiB/s | 73.7 KiB | 00m00s [ 20/120] swig-0:4.4.1-4.fc44.aarch64 100% | 9.0 MiB/s | 1.6 MiB | 00m00s [ 21/120] blas-0:3.12.0-11.fc44.aarch64 100% | 8.7 MiB/s | 562.2 KiB | 00m00s [ 22/120] blas64-0:3.12.0-11.fc44.aarch 100% | 2.6 MiB/s | 184.2 KiB | 00m00s [ 23/120] blas64_-0:3.12.0-11.fc44.aarc 100% | 1.4 MiB/s | 184.2 KiB | 00m00s [ 24/120] cmake-filesystem-0:4.3.0-1.fc 100% | 186.9 KiB/s | 15.0 KiB | 00m00s [ 25/120] cmake-data-0:4.3.0-1.fc44.noa 100% | 72.4 MiB/s | 2.7 MiB | 00m00s [ 26/120] libsbml-devel-0:5.20.5-12.fc4 100% | 66.9 MiB/s | 45.4 MiB | 00m01s [ 27/120] jsoncpp-0:1.9.6-3.fc44.aarch6 100% | 1.1 MiB/s | 94.8 KiB | 00m00s [ 28/120] make-1:4.4.1-12.fc44.aarch64 100% | 11.2 MiB/s | 583.6 KiB | 00m00s [ 29/120] rhash-0:1.4.5-4.fc44.aarch64 100% | 9.9 MiB/s | 192.0 KiB | 00m00s [ 30/120] f2c-libs-0:20210928-12.fc44.a 100% | 1.6 MiB/s | 63.7 KiB | 00m00s [ 31/120] lapack-0:3.12.0-11.fc44.aarch 100% | 21.8 MiB/s | 11.6 MiB | 00m01s [ 32/120] lapack64-0:3.12.0-11.fc44.aar 100% | 4.2 MiB/s | 2.5 MiB | 00m01s [ 33/120] lapack64_-0:3.12.0-11.fc44.aa 100% | 3.6 MiB/s | 2.5 MiB | 00m01s [ 34/120] llvm13-0:13.0.1-8.fc41.aarch6 100% | 20.5 MiB/s | 9.6 MiB | 00m00s [ 35/120] llvm13-libs-0:13.0.1-8.fc41.a 100% | 22.4 MiB/s | 19.1 MiB | 00m01s [ 36/120] ncurses-c++-libs-0:6.6-1.fc44 100% | 32.3 KiB/s | 38.9 KiB | 00m01s [ 37/120] pcre2-devel-0:10.47-1.fc44.1. 100% | 648.1 KiB/s | 550.9 KiB | 00m01s [ 38/120] llvm13-static-0:13.0.1-8.fc41 100% | 14.8 MiB/s | 28.6 MiB | 00m02s [ 39/120] poco-activerecord-0:1.14.1-3. 100% | 34.7 KiB/s | 18.2 KiB | 00m01s [ 40/120] poco-cppparser-0:1.14.1-3.fc4 100% | 167.0 KiB/s | 80.0 KiB | 00m00s [ 41/120] poco-crypto-0:1.14.1-3.fc44.a 100% | 538.7 KiB/s | 96.4 KiB | 00m00s [ 42/120] poco-data-0:1.14.1-3.fc44.aar 100% | 2.1 MiB/s | 536.1 KiB | 00m00s [ 43/120] poco-encodings-0:1.14.1-3.fc4 100% | 1.8 MiB/s | 445.0 KiB | 00m00s [ 44/120] poco-foundation-0:1.14.1-3.fc 100% | 2.2 MiB/s | 610.4 KiB | 00m00s [ 45/120] poco-json-0:1.14.1-3.fc44.aar 100% | 628.0 KiB/s | 128.1 KiB | 00m00s [ 46/120] poco-jwt-0:1.14.1-3.fc44.aarc 100% | 326.2 KiB/s | 66.9 KiB | 00m00s [ 47/120] poco-mongodb-0:1.14.1-3.fc44. 100% | 471.9 KiB/s | 85.9 KiB | 00m00s [ 48/120] poco-mysql-0:1.14.1-3.fc44.aa 100% | 458.2 KiB/s | 66.4 KiB | 00m00s [ 49/120] poco-net-0:1.14.1-3.fc44.aarc 100% | 3.0 MiB/s | 407.6 KiB | 00m00s [ 50/120] poco-netssl-0:1.14.1-3.fc44.a 100% | 1.0 MiB/s | 99.9 KiB | 00m00s [ 51/120] poco-odbc-0:1.14.1-3.fc44.aar 100% | 2.1 MiB/s | 262.9 KiB | 00m00s [ 52/120] poco-pdf-0:1.14.1-3.fc44.aarc 100% | 4.5 MiB/s | 511.3 KiB | 00m00s [ 53/120] poco-postgresql-0:1.14.1-3.fc 100% | 1.1 MiB/s | 125.5 KiB | 00m00s [ 54/120] poco-prometheus-0:1.14.1-3.fc 100% | 542.2 KiB/s | 55.3 KiB | 00m00s [ 55/120] poco-redis-0:1.14.1-3.fc44.aa 100% | 692.9 KiB/s | 49.2 KiB | 00m00s [ 56/120] poco-sqlite-0:1.14.1-3.fc44.a 100% | 1.4 MiB/s | 128.9 KiB | 00m00s [ 57/120] poco-util-0:1.14.1-3.fc44.aar 100% | 2.1 MiB/s | 153.8 KiB | 00m00s [ 58/120] poco-xml-0:1.14.1-3.fc44.aarc 100% | 1.3 MiB/s | 156.8 KiB | 00m00s [ 59/120] poco-zip-0:1.14.1-3.fc44.aarc 100% | 902.5 KiB/s | 87.5 KiB | 00m00s [ 60/120] utf8proc-devel-0:2.11.3-2.fc4 100% | 203.6 KiB/s | 17.5 KiB | 00m00s [ 61/120] zlib-ng-compat-devel-0:2.3.3- 100% | 952.9 KiB/s | 38.1 KiB | 00m00s [ 62/120] python3-iniconfig-0:2.3.0-2.f 100% | 571.5 KiB/s | 26.3 KiB | 00m00s [ 63/120] python3-packaging-0:25.0-8.fc 100% | 2.4 MiB/s | 161.2 KiB | 00m00s [ 64/120] python3-pluggy-0:1.6.0-5.fc44 100% | 790.2 KiB/s | 61.6 KiB | 00m00s [ 65/120] python3-pygments-0:2.19.1-9.f 100% | 21.4 MiB/s | 2.7 MiB | 00m00s [ 66/120] expat-0:2.8.5-1.fc44.aarch64 100% | 3.3 MiB/s | 129.5 KiB | 00m00s [ 67/120] sundials-0:7.6.0-1.fc44.aarch 100% | 7.2 MiB/s | 874.8 KiB | 00m00s [ 68/120] libstdc++-devel-0:16.2.1-2.fc 100% | 58.0 MiB/s | 5.8 MiB | 00m00s [ 69/120] libsbml-0:5.20.5-12.fc44.aarc 100% | 29.7 MiB/s | 2.2 MiB | 00m00s [ 70/120] rr-libstruct-0:2.9.2-0.4.git7 100% | 268.0 KiB/s | 89.5 KiB | 00m00s [ 71/120] gcc-0:16.2.1-2.fc44.aarch64 100% | 150.4 MiB/s | 39.9 MiB | 00m00s [ 72/120] python3-0:3.14.8-1.fc44.aarch 100% | 548.8 KiB/s | 29.6 KiB | 00m00s [ 73/120] libxml2-devel-0:2.12.10-6.fc4 100% | 6.2 MiB/s | 523.5 KiB | 00m00s [ 74/120] python3-numpy-f2py-1:2.4.6-1. 100% | 11.9 MiB/s | 512.5 KiB | 00m00s [ 75/120] minizip-ng-compat-0:4.1.0-1.f 100% | 1.5 MiB/s | 66.9 KiB | 00m00s [ 76/120] python3-libs-0:3.14.8-1.fc44. 100% | 113.8 MiB/s | 9.9 MiB | 00m00s [ 77/120] flexiblas-netlib-0:3.5.0-2.fc 100% | 36.3 MiB/s | 4.0 MiB | 00m00s [ 78/120] emacs-filesystem-1:30.2-2.fc4 100% | 63.5 KiB/s | 8.0 KiB | 00m00s [ 79/120] pcre2-utf16-0:10.47-1.fc44.1. 100% | 1.9 MiB/s | 230.2 KiB | 00m00s [ 80/120] pcre2-utf32-0:10.47-1.fc44.1. 100% | 2.1 MiB/s | 219.5 KiB | 00m00s [ 81/120] utf8proc-0:2.11.3-2.fc44.aarc 100% | 649.5 KiB/s | 83.1 KiB | 00m00s [ 82/120] libiodbc-0:3.52.16-4.fc44.aar 100% | 1.3 MiB/s | 221.3 KiB | 00m00s [ 83/120] libpq-0:18.0-4.fc44.aarch64 100% | 1.6 MiB/s | 268.2 KiB | 00m00s [ 84/120] cpp-0:16.2.1-2.fc44.aarch64 100% | 116.7 MiB/s | 13.3 MiB | 00m00s [ 85/120] libatomic-0:16.2.1-2.fc44.aar 100% | 3.2 MiB/s | 55.3 KiB | 00m00s [ 86/120] suitesparse-0:7.11.0-2.fc44.a 100% | 14.3 MiB/s | 7.6 MiB | 00m01s [ 87/120] suitesparse64-0:7.11.0-2.fc44 100% | 9.4 MiB/s | 7.6 MiB | 00m01s [ 88/120] xz-devel-1:5.8.2-2.fc44.aarch 100% | 97.7 KiB/s | 66.9 KiB | 00m01s [ 89/120] mpdecimal-0:4.0.1-3.fc44.aarc 100% | 233.9 KiB/s | 95.4 KiB | 00m00s [ 90/120] flexiblas-0:3.5.0-2.fc44.aarc 100% | 274.1 KiB/s | 23.0 KiB | 00m00s [ 91/120] flexiblas-openblas-openmp-0:3 100% | 440.7 KiB/s | 16.3 KiB | 00m00s [ 92/120] openblas-serial-0:0.3.29-2.fc 100% | 17.4 MiB/s | 3.7 MiB | 00m00s [ 93/120] openblas-openmp-0:0.3.29-2.fc 100% | 12.6 MiB/s | 3.9 MiB | 00m00s [ 94/120] openblas-0:0.3.29-2.fc43.aarc 100% | 146.6 KiB/s | 42.2 KiB | 00m00s [ 95/120] libpng-2:1.6.58-1.fc44.aarch6 100% | 3.1 MiB/s | 117.7 KiB | 00m00s [ 96/120] libgfortran-0:16.2.1-2.fc44.a 100% | 8.8 MiB/s | 467.0 KiB | 00m00s [ 97/120] mariadb-connector-c-0:3.4.9-2 100% | 4.9 MiB/s | 202.6 KiB | 00m00s [ 98/120] mariadb-connector-c-config-0: 100% | 744.8 KiB/s | 21.6 KiB | 00m00s [ 99/120] vim-filesystem-2:9.2.1202-1.f 100% | 972.1 KiB/s | 15.6 KiB | 00m00s [100/120] libedit-0:3.1-59.20260512cvs. 100% | 6.5 MiB/s | 106.3 KiB | 00m00s [101/120] openssl-devel-1:3.5.9-1.fc44. 100% | 64.9 MiB/s | 3.0 MiB | 00m00s [102/120] libedit-devel-0:3.1-59.202605 100% | 2.2 MiB/s | 41.0 KiB | 00m00s [103/120] libuv-1:1.52.1-2.fc44.aarch64 100% | 15.2 MiB/s | 265.0 KiB | 00m00s [104/120] python-pip-wheel-0:26.0.1-3.f 100% | 44.2 MiB/s | 1.1 MiB | 00m00s [105/120] tzdata-0:2026e-1.fc44.noarch 100% | 27.9 MiB/s | 713.6 KiB | 00m00s [106/120] libmpc-0:1.4.1-1.fc44.aarch64 100% | 4.5 MiB/s | 73.7 KiB | 00m00s [107/120] glibc-devel-0:2.43-9.fc44.aar 100% | 31.5 MiB/s | 612.2 KiB | 00m00s [108/120] libxcrypt-devel-0:4.5.2-3.fc4 100% | 2.0 MiB/s | 30.0 KiB | 00m00s [109/120] libasan-0:16.2.1-2.fc44.aarch 100% | 26.5 MiB/s | 515.8 KiB | 00m00s [110/120] libubsan-0:16.2.1-2.fc44.aarc 100% | 13.1 MiB/s | 227.9 KiB | 00m00s [111/120] gcc-plugin-annobin-0:16.2.1-2 100% | 3.4 MiB/s | 58.3 KiB | 00m00s [112/120] kernel-headers-0:7.2.4-200.fc 100% | 41.9 MiB/s | 1.7 MiB | 00m00s [113/120] cmake-rpm-macros-0:4.3.0-1.fc 100% | 531.3 KiB/s | 13.8 KiB | 00m00s [114/120] pyproject-rpm-macros-0:1.24.0 100% | 3.5 MiB/s | 58.1 KiB | 00m00s [115/120] python-rpm-macros-0:3.14-12.f 100% | 798.3 KiB/s | 20.0 KiB | 00m00s [116/120] python3-rpm-generators-0:14-1 100% | 793.9 KiB/s | 28.6 KiB | 00m00s [117/120] gcc-gfortran-0:16.2.1-2.fc44. 100% | 34.4 MiB/s | 14.9 MiB | 00m00s [118/120] python3-rpm-macros-0:3.14-12. 100% | 282.2 KiB/s | 12.4 KiB | 00m00s [119/120] annobin-plugin-gcc-0:13.14-1. 100% | 19.6 MiB/s | 684.0 KiB | 00m00s [120/120] annobin-docs-0:13.14-1.fc44.n 100% | 5.0 MiB/s | 86.7 KiB | 00m00s -------------------------------------------------------------------------------- [120/120] Total 100% | 39.1 MiB/s | 310.2 MiB | 00m08s Running transaction [ 1/122] Verify package files 100% | 122.0 B/s | 120.0 B | 00m01s [ 2/122] Prepare transaction 100% | 461.0 B/s | 120.0 B | 00m00s [ 3/122] Installing libgfortran-0:16.2 100% | 285.2 MiB/s | 1.7 MiB | 00m00s [ 4/122] Installing cmake-filesystem-0 100% | 3.0 MiB/s | 9.4 KiB | 00m00s [ 5/122] Installing libmpc-0:1.4.1-1.f 100% | 106.7 MiB/s | 218.5 KiB | 00m00s [ 6/122] Installing expat-0:2.8.5-1.fc 100% | 20.0 MiB/s | 388.2 KiB | 00m00s [ 7/122] Installing zlib-ng-compat-dev 100% | 106.0 MiB/s | 108.6 KiB | 00m00s [ 8/122] Installing python-rpm-macros- 100% | 28.2 MiB/s | 28.9 KiB | 00m00s [ 9/122] Installing python3-rpm-macros 100% | 6.6 MiB/s | 6.8 KiB | 00m00s [ 10/122] Installing blas-0:3.12.0-11.f 100% | 34.5 MiB/s | 1.2 MiB | 00m00s [ 11/122] Installing lapack-0:3.12.0-11 100% | 57.3 MiB/s | 16.1 MiB | 00m00s [ 12/122] Installing blas64-0:3.12.0-11 100% | 265.4 MiB/s | 815.2 KiB | 00m00s [ 13/122] Installing blas64_-0:3.12.0-1 100% | 266.3 MiB/s | 818.1 KiB | 00m00s [ 14/122] Installing libedit-0:3.1-59.2 100% | 137.7 MiB/s | 282.0 KiB | 00m00s [ 15/122] Installing llvm13-libs-0:13.0 100% | 383.7 MiB/s | 81.3 MiB | 00m00s [ 16/122] Installing vim-filesystem-2:9 100% | 4.7 MiB/s | 4.8 KiB | 00m00s [ 17/122] Installing openblas-0:0.3.29- 100% | 110.8 MiB/s | 113.5 KiB | 00m00s [ 18/122] Installing utf8proc-0:2.11.3- 100% | 202.6 MiB/s | 414.9 KiB | 00m00s [ 19/122] Installing poco-foundation-0: 100% | 315.7 MiB/s | 2.2 MiB | 00m00s [ 20/122] Installing poco-data-0:1.14.1 100% | 392.7 MiB/s | 2.4 MiB | 00m00s [ 21/122] Installing poco-net-0:1.14.1- 100% | 346.9 MiB/s | 1.4 MiB | 00m00s [ 22/122] Installing poco-crypto-0:1.14 100% | 319.1 MiB/s | 326.7 KiB | 00m00s [ 23/122] Installing poco-json-0:1.14.1 100% | 193.4 MiB/s | 396.1 KiB | 00m00s [ 24/122] Installing poco-xml-0:1.14.1- 100% | 285.1 MiB/s | 583.8 KiB | 00m00s [ 25/122] Installing poco-util-0:1.14.1 100% | 254.9 MiB/s | 521.9 KiB | 00m00s [ 26/122] Installing minizip-ng-compat- 100% | 194.6 MiB/s | 199.3 KiB | 00m00s [ 27/122] Installing libsbml-0:5.20.5-1 100% | 369.4 MiB/s | 9.6 MiB | 00m00s [ 28/122] Installing make-1:4.4.1-12.fc 100% | 77.1 MiB/s | 1.9 MiB | 00m00s [ 29/122] Installing rr-libstruct-0:2.9 100% | 127.9 MiB/s | 261.9 KiB | 00m00s [ 30/122] Installing poco-netssl-0:1.14 100% | 159.7 MiB/s | 327.1 KiB | 00m00s [ 31/122] Installing poco-jwt-0:1.14.1- 100% | 195.5 MiB/s | 200.2 KiB | 00m00s [ 32/122] Installing poco-mongodb-0:1.1 100% | 257.3 MiB/s | 263.5 KiB | 00m00s [ 33/122] Installing poco-prometheus-0: 100% | 194.2 MiB/s | 198.9 KiB | 00m00s [ 34/122] Installing poco-redis-0:1.14. 100% | 192.9 MiB/s | 197.5 KiB | 00m00s [ 35/122] Installing poco-activerecord- 100% | 66.8 MiB/s | 68.4 KiB | 00m00s [ 36/122] Installing poco-sqlite-0:1.14 100% | 287.3 MiB/s | 588.3 KiB | 00m00s [ 37/122] Installing poco-cppparser-0:1 100% | 255.7 MiB/s | 261.9 KiB | 00m00s [ 38/122] Installing poco-encodings-0:1 100% | 293.3 MiB/s | 901.1 KiB | 00m00s [ 39/122] Installing poco-zip-0:1.14.1- 100% | 257.1 MiB/s | 263.3 KiB | 00m00s [ 40/122] Installing utf8proc-devel-0:2 100% | 0.0 B/s | 34.0 KiB | 00m00s [ 41/122] Installing openblas-serial-0: 100% | 421.4 MiB/s | 19.4 MiB | 00m00s [ 42/122] Installing suitesparse64-0:7. 100% | 374.9 MiB/s | 37.5 MiB | 00m00s [ 43/122] Installing openblas-openmp-0: 100% | 433.8 MiB/s | 20.4 MiB | 00m00s [ 44/122] Installing flexiblas-netlib-0 100% | 244.7 MiB/s | 14.2 MiB | 00m00s [ 45/122] Installing flexiblas-0:3.5.0- 100% | 38.2 MiB/s | 39.2 KiB | 00m00s [ 46/122] Installing flexiblas-openblas 100% | 66.4 MiB/s | 68.0 KiB | 00m00s [ 47/122] Installing suitesparse-0:7.11 100% | 371.2 MiB/s | 37.5 MiB | 00m00s [ 48/122] Installing sundials-0:7.6.0-1 100% | 274.3 MiB/s | 6.0 MiB | 00m00s [ 49/122] Installing llvm13-0:13.0.1-8. 100% | 315.5 MiB/s | 40.7 MiB | 00m00s [ 50/122] Installing lapack64_-0:3.12.0 100% | 313.5 MiB/s | 7.8 MiB | 00m00s [ 51/122] Installing lapack64-0:3.12.0- 100% | 312.9 MiB/s | 7.8 MiB | 00m00s [ 52/122] Installing pyproject-rpm-macr 100% | 83.7 MiB/s | 171.5 KiB | 00m00s [ 53/122] Installing expat-devel-0:2.8. 100% | 117.1 MiB/s | 239.9 KiB | 00m00s [ 54/122] Installing cpp-0:16.2.1-2.fc4 100% | 275.5 MiB/s | 40.8 MiB | 00m00s [ 55/122] Installing annobin-docs-0:13. 100% | 32.7 MiB/s | 100.5 KiB | 00m00s [ 56/122] Installing kernel-headers-0:7 100% | 125.5 MiB/s | 7.0 MiB | 00m00s [ 57/122] Installing glibc-devel-0:2.43 100% | 102.4 MiB/s | 2.4 MiB | 00m00s [ 58/122] Installing libxcrypt-devel-0: 100% | 32.5 MiB/s | 33.3 KiB | 00m00s [ 59/122] Installing libubsan-0:16.2.1- 100% | 232.8 MiB/s | 476.7 KiB | 00m00s [ 60/122] Installing libasan-0:16.2.1-2 100% | 171.3 MiB/s | 1.5 MiB | 00m00s [ 61/122] Installing tzdata-0:2026e-1.f 100% | 26.3 MiB/s | 1.5 MiB | 00m00s [ 62/122] Installing python-pip-wheel-0 100% | 611.8 MiB/s | 1.2 MiB | 00m00s [ 63/122] Installing libuv-1:1.52.1-2.f 100% | 50.4 MiB/s | 619.2 KiB | 00m00s [ 64/122] Installing openssl-devel-1:3. 100% | 45.8 MiB/s | 5.5 MiB | 00m00s [ 65/122] Installing mariadb-connector- 100% | 26.6 MiB/s | 27.2 KiB | 00m00s [ 66/122] Installing mariadb-connector- 100% | 244.0 MiB/s | 1.0 MiB | 00m00s [ 67/122] Installing poco-mysql-0:1.14. 100% | 256.2 MiB/s | 262.3 KiB | 00m00s [ 68/122] Installing libpng-2:1.6.58-1. 100% | 132.3 MiB/s | 271.0 KiB | 00m00s [ 69/122] Installing poco-pdf-0:1.14.1- 100% | 268.7 MiB/s | 1.1 MiB | 00m00s [ 70/122] Installing mpdecimal-0:4.0.1- 100% | 39.4 MiB/s | 282.6 KiB | 00m00s [ 71/122] Installing python3-libs-0:3.1 100% | 241.3 MiB/s | 46.1 MiB | 00m00s [ 72/122] Installing python3-0:3.14.8-1 100% | 4.7 MiB/s | 86.5 KiB | 00m00s [ 73/122] Installing python3-packaging- 100% | 121.1 MiB/s | 619.9 KiB | 00m00s [ 74/122] Installing python3-rpm-genera 100% | 81.0 MiB/s | 82.9 KiB | 00m00s [ 75/122] Installing ninja-build-0:1.13 100% | 24.2 MiB/s | 470.9 KiB | 00m00s [ 76/122] Installing cmake-rpm-macros-0 100% | 1.8 MiB/s | 9.0 KiB | 00m00s [ 77/122] Installing python3-numpy-1:2. 100% | 231.8 MiB/s | 36.6 MiB | 00m00s [ 78/122] Installing python3-numpy-f2py 100% | 62.3 MiB/s | 2.2 MiB | 00m00s [ 79/122] Installing python3-iniconfig- 100% | 26.4 MiB/s | 54.1 KiB | 00m00s [ 80/122] Installing python3-pluggy-0:1 100% | 42.6 MiB/s | 217.9 KiB | 00m00s [ 81/122] Installing python3-pygments-0 100% | 149.2 MiB/s | 11.5 MiB | 00m00s [ 82/122] Installing xz-devel-1:5.8.2-2 100% | 85.5 MiB/s | 262.6 KiB | 00m00s [ 83/122] Installing libxml2-devel-0:2. 100% | 110.2 MiB/s | 3.4 MiB | 00m00s [ 84/122] Installing libsbml-devel-0:5. 100% | 471.0 MiB/s | 373.5 MiB | 00m01s [ 85/122] Installing libatomic-0:16.2.1 100% | 38.5 MiB/s | 78.8 KiB | 00m00s [ 86/122] Installing gcc-0:16.2.1-2.fc4 100% | 331.0 MiB/s | 112.5 MiB | 00m00s [ 87/122] Installing gcc-gfortran-0:16. 100% | 289.7 MiB/s | 43.2 MiB | 00m00s [ 88/122] Installing blas-devel-0:3.12. 100% | 66.7 MiB/s | 136.6 KiB | 00m00s [ 89/122] Installing libpq-0:18.0-4.fc4 100% | 205.5 MiB/s | 1.0 MiB | 00m00s [ 90/122] Installing poco-postgresql-0: 100% | 255.0 MiB/s | 522.2 KiB | 00m00s [ 91/122] Installing libiodbc-0:3.52.16 100% | 38.8 MiB/s | 795.0 KiB | 00m00s [ 92/122] Installing poco-odbc-0:1.14.1 100% | 271.9 MiB/s | 1.1 MiB | 00m00s [ 93/122] Installing pcre2-utf32-0:10.4 100% | 285.0 MiB/s | 583.7 KiB | 00m00s [ 94/122] Installing pcre2-utf16-0:10.4 100% | 190.0 MiB/s | 583.8 KiB | 00m00s [ 95/122] Installing pcre2-devel-0:10.4 100% | 75.7 MiB/s | 2.1 MiB | 00m00s [ 96/122] Installing emacs-filesystem-1 100% | 264.3 KiB/s | 812.0 B | 00m00s [ 97/122] Installing libstdc++-devel-0: 100% | 365.0 MiB/s | 40.5 MiB | 00m00s [ 98/122] Installing ncurses-c++-libs-0 100% | 86.7 MiB/s | 266.4 KiB | 00m00s [ 99/122] Installing ncurses-devel-0:6. 100% | 26.8 MiB/s | 1.0 MiB | 00m00s [100/122] Installing libedit-devel-0:3. 100% | 33.0 MiB/s | 67.5 KiB | 00m00s [101/122] Installing llvm13-static-0:13 100% | 458.9 MiB/s | 217.5 MiB | 00m00s [102/122] Installing f2c-libs-0:2021092 100% | 150.4 MiB/s | 154.1 KiB | 00m00s [103/122] Installing rhash-0:1.4.5-4.fc 100% | 20.5 MiB/s | 399.8 KiB | 00m00s [104/122] Installing jsoncpp-0:1.9.6-3. 100% | 133.4 MiB/s | 273.3 KiB | 00m00s [105/122] Installing cmake-0:4.3.0-1.fc 100% | 260.9 MiB/s | 32.9 MiB | 00m00s [106/122] Installing cmake-data-0:4.3.0 100% | 64.2 MiB/s | 10.1 MiB | 00m00s [107/122] Installing f2c-0:20210928-12. 100% | 29.0 MiB/s | 713.7 KiB | 00m00s [108/122] Installing llvm13-devel-0:13. 100% | 148.6 MiB/s | 20.5 MiB | 00m00s [109/122] Installing gcc-c++-0:16.2.1-2 100% | 285.4 MiB/s | 44.8 MiB | 00m00s [110/122] Installing poco-devel-0:1.14. 100% | 100.0 MiB/s | 6.6 MiB | 00m00s [111/122] Installing lapack-devel-0:3.1 100% | 320.5 MiB/s | 1.6 MiB | 00m00s [112/122] Installing gcc-plugin-annobin 100% | 4.9 MiB/s | 70.8 KiB | 00m00s [113/122] Installing annobin-plugin-gcc 100% | 43.5 MiB/s | 713.0 KiB | 00m00s [114/122] Installing rr-libstruct-devel 100% | 45.7 MiB/s | 187.4 KiB | 00m00s [115/122] Installing python3-pytest-0:8 100% | 252.0 MiB/s | 22.7 MiB | 00m00s [116/122] Installing python3-devel-0:3. 100% | 62.7 MiB/s | 2.0 MiB | 00m00s [117/122] Installing python3-libsbml-0: 100% | 512.3 MiB/s | 32.8 MiB | 00m00s [118/122] Installing sbml-test-corpus-0 100% | 265.6 MiB/s | 816.1 KiB | 00m00s [119/122] Installing sundials-devel-0:7 100% | 421.6 MiB/s | 29.9 MiB | 00m00s [120/122] Installing zlib-ng-compat-sta 100% | 199.6 MiB/s | 1.2 MiB | 00m00s [121/122] Installing swig-0:4.4.1-4.fc4 100% | 100.2 MiB/s | 6.1 MiB | 00m00s [122/122] Installing chrpath-0:0.16-28. 100% | 520.1 KiB/s | 104.0 KiB | 00m00s Warning: skipped OpenPGP checks for 3 packages from repository: copr_base Complete! Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1792713600 Wrote: /builddir/build/SRPMS/libroadrunner-2.11.0-1.fc44.src.rpm Updating and loading repositories: updates 100% | 16.3 KiB/s | 9.2 KiB | 00m01s fedora 100% | 18.0 KiB/s | 10.2 KiB | 00m01s Additional repo copr_mhough_neurofedor 100% | 4.9 KiB/s | 1.5 KiB | 00m00s Copr repository 100% | 4.9 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package "blas-devel-3.12.0-11.fc44.aarch64" is already installed. Package "chrpath-0.16-28.fc44.aarch64" is already installed. Package "cmake-4.3.0-1.fc44.aarch64" is already installed. Package "expat-devel-2.8.5-1.fc44.aarch64" is already installed. Package "f2c-20210928-12.fc44.aarch64" is already installed. Package "gcc-c++-16.2.1-2.fc44.aarch64" is already installed. Package "lapack-devel-3.12.0-11.fc44.aarch64" is already installed. Package "libsbml-devel-5.20.5-12.fc44.aarch64" is already installed. Package "llvm13-devel-13.0.1-8.fc41.aarch64" is already installed. Package "ncurses-devel-6.6-1.fc44.aarch64" is already installed. Package "ninja-build-1.13.2-2.fc44.aarch64" is already installed. Package "poco-devel-1.14.1-3.fc44.aarch64" is already installed. Package "python3-devel-3.14.8-1.fc44.aarch64" is already installed. Nothing to do. Package "python3-libsbml-5.20.5-12.fc44.aarch64" is already installed. Package "python3-numpy-1:2.4.6-1.fc44.aarch64" is already installed. Package "python3-pytest-8.4.2-2.fc44.noarch" is already installed. Package "rr-libstruct-devel-2.9.2-0.4.git7ff1f47.fc44.aarch64" is already installed. Package "sbml-test-corpus-20260923-1.fc44.noarch" is already installed. Package "sundials-devel-7.6.0-1.fc44.aarch64" is already installed. Package "swig-4.4.1-4.fc44.aarch64" is already installed. Package "zlib-ng-compat-static-2.3.3-3.fc44.aarch64" is already installed. Finish: build setup for libroadrunner-2.11.0-1.fc44.src.rpm Start: rpmbuild libroadrunner-2.11.0-1.fc44.src.rpm Building target platforms: aarch64 Building for target aarch64 setting SOURCE_DATE_EPOCH=1792713600 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.ar3H2m Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.eZKnwa + umask 022 + cd /builddir/build/BUILD/libroadrunner-2.11.0-build + cd /builddir/build/BUILD/libroadrunner-2.11.0-build + rm -rf roadrunner-2.11.0 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/libroadrunner-2.11.0.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd roadrunner-2.11.0 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/libroadrunner-2.11.0-tests-distrib-braces.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + bash /builddir/build/SOURCES/libroadrunner-fedora-transform.sh . RoadRunner transform applied. + grep -qF 'find_package(ZLIB CONFIG REQUIRED COMPONENTS static)' CMakeLists.txt + sed -i 's/find_package(ZLIB CONFIG REQUIRED COMPONENTS static)/find_package(ZLIB CONFIG REQUIRED)/' CMakeLists.txt + sed -i '\#include "llvm/Transforms/InstCombine/InstCombine.h"#i #include ' source/llvm/LLVMIncludes.h + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.fEnLnG + umask 022 + cd /builddir/build/BUILD/libroadrunner-2.11.0-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd roadrunner-2.11.0 + export LLVM_DIR=/usr/lib64/llvm13 + LLVM_DIR=/usr/lib64/llvm13 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + /usr/bin/cmake -S . -B redhat-linux-build -G Ninja -DCMAKE_C_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_CXX_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_Fortran_FLAGS_RELEASE:STRING=-DNDEBUG -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_INSTALL_DO_STRIP:BOOL=OFF -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_INSTALL_FULL_SBINDIR:PATH=/usr/bin -DCMAKE_INSTALL_SBINDIR:PATH=bin -DINCLUDE_INSTALL_DIR:PATH=/usr/include -DLIB_INSTALL_DIR:PATH=/usr/lib64 -DSYSCONF_INSTALL_DIR:PATH=/etc -DSHARE_INSTALL_PREFIX:PATH=/usr/share -DLIB_SUFFIX=64 -DBUILD_SHARED_LIBS:BOOL=ON -GNinja -DCMAKE_BUILD_TYPE=Release -DRR_DEPENDENCIES_INSTALL_PREFIX=/usr -DLLVM_INSTALL_PREFIX=/usr/lib64/llvm13 -DBUILD_PYTHON=ON -DBUILD_LLVM=ON -DBUILD_RR_CAPI=ON -DBUILD_TESTS=ON -- The CXX compiler identification is GNU 16.2.1 -- The C compiler identification is GNU 16.2.1 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/g++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/gcc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Build on 64-bit platform could not find git -- ROADRUNNER_GIT_BRANCH : git not found, unknown git branch -- ROADRUNNER_GIT_LAST_COMMIT : git not found, unknown git commit -- Found Python: /usr/bin/python3.14 (found version "3.14.8") found components: Interpreter Development NumPy Development.Module Development.Embed -- PROJECT_BINARY_DIR /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build -- not building legacy C backend -- CMAKE_PREFIX_PATH /usr/cmake;/usr/lib/cmake;/usr/lib/cmake/Poco;/usr/lib64/cmake;/usr/lib64/cmake/Poco ZLIB::ZLIBSTATIC BINARY_DIR = /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build ZLIB::ZLIBSTATIC IMPORTED = TRUE ZLIB::ZLIBSTATIC IMPORTED_CONFIGURATIONS = RELEASE ZLIB::ZLIBSTATIC INTERFACE_INCLUDE_DIRECTORIES = /usr/include ZLIB::ZLIBSTATIC LOCATION = /usr/lib64/libz.a ZLIB::ZLIBSTATIC LOCATION_Release = /usr/lib64/libz.a ZLIB::ZLIBSTATIC MACOSX_PACKAGE_LOCATION = /usr/lib64/libz.a ZLIB::ZLIBSTATIC NAME = ZLIB::ZLIBSTATIC ZLIB::ZLIBSTATIC SOURCE_DIR = /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0 ZLIB::ZLIBSTATIC SYSTEM = ON ZLIB::ZLIBSTATIC TYPE = STATIC_LIBRARY ZLIB::ZLIBSTATIC VS_DEPLOYMENT_LOCATION = /usr/lib64/libz.a expat::expat BINARY_DIR = /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build expat::expat IMPORTED = TRUE expat::expat IMPORTED_CONFIGURATIONS = NOCONFIG expat::expat INTERFACE_INCLUDE_DIRECTORIES = /usr/include expat::expat INTERFACE_LINK_LIBRARIES = m expat::expat LOCATION = /usr/lib64/libexpat.so.1.12.5 expat::expat LOCATION_Release = /usr/lib64/libexpat.so.1.12.5 expat::expat MACOSX_PACKAGE_LOCATION = /usr/lib64/libexpat.so.1.12.5 expat::expat NAME = expat::expat expat::expat POSITION_INDEPENDENT_CODE = True expat::expat SOURCE_DIR = /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0 expat::expat SYSTEM = ON expat::expat TYPE = SHARED_LIBRARY expat::expat VS_DEPLOYMENT_LOCATION = /usr/lib64/libexpat.so.1.12.5 -- EXPAT_LIBRARY: /usr/lib64/libexpat.so.1.12.5 -- ZLIB_LIBRARY: /usr/lib64/libz.a -- ZLIB_INCLUDE_DIR: /usr/include/ -- Found ZLIB: /usr/lib64/libz.a (found version "1.3.1") -- Found PCRE2: /lib64/libpcre2-8.so -- Found Utf8Proc: /usr/lib64/libutf8proc.so -- Found EXPAT: /usr/lib64/libexpat.so.1.12.5 (found version "2.8.5") -- LLVM llvm-config found at: /usr/lib64/llvm13/bin/llvm-config -- Found LLVM: /usr/lib64/llvm13/include -- Found OpenMP_C: -fopenmp (found version "5.2") -- Found OpenMP_CXX: -fopenmp (found version "5.2") -- Found OpenMP: TRUE (found version "5.2") -- Found Curses: /usr/lib64/libcurses.so -- CMAKE_INSTALL_LIBDIR lib64 -- LLVM_FLAGS -I/usr/lib64/llvm13/include -std=c++14 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -- LLVM_LIBRARIES /usr/lib64/llvm13/lib/libLLVM-13.so} -- SWIG_EXECUTABLE /usr/bin/swig -- SWIG_DIR /usr/share/swig/4.4.1 -- SWIG_USE_FILE /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/cmake/UseSWIG.cmake -- Found SWIG: /usr/bin/swig (found suitable version "4.4.1", minimum required is "4.0.1") found components: python java -- SWIG found: /usr/bin/swig -- swig_version 4.4.1 PYTHON_PACKAGE_BUILD_PREFIX /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/lib/site-packages/roadrunner -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE -- RR_PYTHON_TESTING_BUILD_PREFIX: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/lib/site-packages/roadrunner/tests -- Building TestModelFactory -- SWIG_EXECUTABLE /usr/bin/swig -- SWIG_DIR /usr/share/swig/4.4.1 -- SWIG_USE_FILE /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/cmake/UseSWIG.cmake -- Found SWIG: /usr/bin/swig (found suitable version "4.4.1", minimum required is "4.0.1") found components: python -- Adding swig executable: TestModelFactory -- Swig target "TestModelFactory" will be copied to "/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/lib/site-packages/roadrunner/tests" in the build tree after the target is built -- Swig generated .py for target "TestModelFactory" will be copied to "/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/lib/site-packages/roadrunner/tests" in the build tree after the target is built -- SWIG_EXECUTABLE /usr/bin/swig -- SWIG_DIR /usr/share/swig/4.4.1 -- SWIG_USE_FILE /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/cmake/UseSWIG.cmake -- Adding swig executable: SettingTestsSwigAPI -- Swig target "SettingTestsSwigAPI" will be copied to "/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/lib/site-packages/roadrunner/tests" in the build tree after the target is built -- Swig generated .py for target "SettingTestsSwigAPI" will be copied to "/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/lib/site-packages/roadrunner/tests" in the build tree after the target is built -- SWIG_EXECUTABLE /usr/bin/swig -- SWIG_DIR /usr/share/swig/4.4.1 -- SWIG_USE_FILE /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/cmake/UseSWIG.cmake -- Adding swig executable: picklable_swig -- Swig target "picklable_swig" will be copied to "/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/lib/site-packages/roadrunner/tests" in the build tree after the target is built -- Swig generated .py for target "picklable_swig" will be copied to "/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/lib/site-packages/roadrunner/tests" in the build tree after the target is built -- PyTestTests python_tests_AutomaticMoietyConservationAnalysisTests;python_tests_ForwardSensitivitySolverTests;python_tests_IntegratorTests;python_tests_JacobianTests;python_tests_TestModelFactoryTests;python_tests_NamedArrayTests;python_tests_Python_api_tests;python_tests_SteadyStateSolverTests;python_tests_StructuralAnalysisTests;python_tests_RoadRunnerMap;python_tests_AutoPluginTest;python_tests_RRTests;python_tests_SettingTests;python_tests_RunStochasticTestSuite -- CMAKE_BINARY_DIR /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build -- building tests -- ######################################################## # Build Summary for libroadrunner 2.11.0 ######################################################## For up-to-date news and releases visit libroadrunner.org Configured on host ------------------------------------------------------------------------------- CMake variables ------------------------------------------------------------------------------- CMAKE_C_COMPILER /usr/bin/gcc CMAKE_CXX_COMPILER /usr/bin/g++ BUILD_DEFINITIONS CMAKE_SYSTEM_VERSION 7.0.10-201.fc44.aarch64 ROADRUNNER_VERSION 2.11.0 CMAKE_CXX_COMPILER_ID GNU CMAKE_CXX_COMPILER_VERSION 16.2.1 CMAKE_CXX_STANDARD 17 CMAKE_POSITION_INDEPENDENT_CODE ON CMAKE_INSTALL_RPATH $ORIGIN;$ORIGIN/../lib64 CMAKE_CXX_FLAGS -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c++17 CMAKE_C_FLAGS -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer CMAKE_CXX_FLAGS_RELEASE -DNDEBUG CMAKE_C_FLAGS_RELEASE -DNDEBUG CMAKE_CXX_FLAGS_DEBUG -g CMAKE_C_FLAGS_DEBUG -g CMAKE_INSTALL_PREFIX /usr CMAKE_VERBOSE_MAKEFILE TRUE CMAKE_BUILD_TYPE Release CMAKE_RUNTIME_OUTPUT_DIRECTORY /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/bin CMAKE_LIBRARY_OUTPUT_DIRECTORY /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/lib CMAKE_ARCHIVE_OUTPUT_DIRECTORY /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/lib ------------------------------------------------------------------------------- Options ------------------------------------------------------------------------------- Host OS Linux Host architecture aarch64 CMake Generator Ninja With LLVM? ON With legacy C? (DEP) OFF llvm-6.x install prefix /usr/lib64/llvm13 Build test tools? OFF Build tests? ON Build Python bindings ON Site-packages directory /usr/site-packages Python roadrunner install prefix /usr/site-packages/roadrunner Build Python ctypes api Build conda recipe Build roadrunner C API ON Build apps OFF Build examples OFF Install sbml models? OFF Build Java bindings? OFF Package roadrunner? OFF Build with address sanitizer? OFF PYTHON_PACKAGE_SITE_DIR_BUILD_TREE /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/lib/site-packages PYTHON_PACKAGE_BUILD_PREFIX /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/lib/site-packages/roadrunner RR_PYTHON_TESTING_BUILD_PREFIX /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/lib/site-packages/roadrunner/tests PYTHON_PACKAGE_SITE_DIR /usr/site-packages PYTHON_PACKAGE_INSTALL_PREFIX /usr/site-packages/roadrunner RR_PYTHON_TESTING_INSTALL_PREFIX /usr/site-packages/roadrunner/tests ------------------------------------------------------------------------------- rrplugins ------------------------------------------------------------------------------- Features: Build rrplugins package? OFF Build rrplugins as shared library? OFF Build rrplugins as static library? OFF Where to install python rrplugins? /usr/site-packages/rrplugins Languages Build the C API? OFF Build the Python API? OFF Plugins available: Test Model OFF Add Noise OFF Chi-squared OFF Bifurcation Auto2k OFF Demo Plugin OFF ------------------------------------------------------------------------------- Python Variables ------------------------------------------------------------------------------- Note: you can change these by setting the Python_ROOT_DIR variable BUILD_PYTHON ON Python_ROOT_DIR /usr/bin Python_FOUND TRUE Python_Interpreter_FOUND TRUE Python_EXECUTABLE /usr/bin/python3.14 Python_INTERPRETER_ID Python IronPython Python_STDLIB /usr/lib64/python3.14 Python_STDARCH /usr/lib64/python3.14 Python_SITELIB /usr/lib/python3.14/site-packages Python_SITEARCH /usr/lib64/python3.14/site-packages Python_SOABI cpython-314-aarch64-linux-gnu Python_Compiler_FOUND FALSE Python_COMPILER Python_COMPILER_ID Python_DOTNET_LAUNCHER Python_Development_FOUND TRUE Python_Development .Module_FOUND Python_Development .Embed_FOUND Python_INCLUDE_DIRS /usr/include/python3.14 Python_LINK_OPTIONS Python_LIBRARY Python_LIBRARIES /usr/lib64/libpython3.14.so Python_LIBRARY_DIRS /usr/lib64 Python_RUNTIME_LIBRARY_DIRS /usr/lib64 Python_VERSION 3.14.8 Python_VERSION_MAJOR 3 Python_VERSION_MINOR 14 Python_VERSION_PATCH 8 Python_PyPy_VERSION Python_NumPy_FOUND TRUE Python_NumPy_INCLUDE_DIRS /usr/lib64/python3.14/site-packages/numpy/_core/include Python_NumPy_VERSION 2.4.6 End Summary ################################################################################ -- Configuring done (3.4s) CMake Warning (dev) at /usr/share/cmake/Modules/UseSWIG.cmake:973 (add_library): Policy CMP0115 is not set: Source file extensions must be explicit. Run "cmake --help-policy CMP0115" for policy details. Use the cmake_policy command to set the policy and suppress this warning. File: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/test/cxx_api_tests/SettingTestsSwigAPI.cpp Call Stack (most recent call first): test/CMakeLists.txt:138 (swig_add_library) test/cxx_api_tests/CMakeLists.txt:38 (add_rr_test_swig_library) This warning is for project developers. Use -Wno-dev to suppress it. -- Generating done (0.2s) CMake Warning: Manually-specified variables were not used by the project: CMAKE_Fortran_FLAGS_RELEASE CMAKE_INSTALL_DO_STRIP INCLUDE_INSTALL_DIR LIB_INSTALL_DIR LIB_SUFFIX SHARE_INSTALL_PREFIX SYSCONF_INSTALL_DIR -- Build files have been written to: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build + /usr/bin/cmake --build redhat-linux-build -j4 --verbose Change Dir: '/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build' Run Build Command(s): /usr/bin/ninja-build -v -j 4 [1/538] /usr/bin/g++ -DBUILD_LLVM -DPOCO_CMAKE -DPOCO_ENABLE_CPP11 -DPOCO_ENABLE_CPP14 -DPOCO_HAVE_FD_EPOLL -DPOCO_OS_FAMILY_UNIX -DPOCO_UNBUNDLED -DSTATIC_RR -DSUNDIALS_STATIC_DEFINE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_XOPEN_SOURCE=500 -I/usr/lib64/llvm13/include -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/thread-pool -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/parallel-hashmap/parallel_hashmap -I/usr/include/libexpat -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/source -isystem /usr/include/rr-libstruct -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c++17 -DNDEBUG -std=gnu++17 -fPIC -MD -MT source/CMakeFiles/roadrunner-static.dir/rrConstants.cpp.o -MF source/CMakeFiles/roadrunner-static.dir/rrConstants.cpp.o.d -o source/CMakeFiles/roadrunner-static.dir/rrConstants.cpp.o -c /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrConstants.cpp /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrConstants.cpp:1: warning: ignoring ‘#pragma hdrstop ’ [-Wunknown-pragmas] 1 | #pragma hdrstop In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrConstants.cpp:2: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h: In instantiation of ‘void rr::loadBinary(std::istream&, std::vector&) [with T = double; std::istream = std::basic_istream]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h:440:27: required from here 440 | loadBinary(in, vectorVal); | ~~~~~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h:334:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 334 | for (int i = 0; i < vsize; i++) { | ~~^~~~~~~ [2/538] /usr/bin/g++ -DBUILD_LLVM -DPOCO_CMAKE -DPOCO_ENABLE_CPP11 -DPOCO_ENABLE_CPP14 -DPOCO_HAVE_FD_EPOLL -DPOCO_OS_FAMILY_UNIX -DPOCO_UNBUNDLED -DSTATIC_RR -DSUNDIALS_STATIC_DEFINE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_XOPEN_SOURCE=500 -I/usr/lib64/llvm13/include -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/thread-pool -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/parallel-hashmap/parallel_hashmap -I/usr/include/libexpat -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/source -isystem /usr/include/rr-libstruct -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c++17 -DNDEBUG -std=gnu++17 -fPIC -MD -MT source/CMakeFiles/roadrunner-static.dir/rrException.cpp.o -MF source/CMakeFiles/roadrunner-static.dir/rrException.cpp.o.d -o source/CMakeFiles/roadrunner-static.dir/rrException.cpp.o -c /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrException.cpp /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrException.cpp:1: warning: ignoring ‘#pragma hdrstop ’ [-Wunknown-pragmas] 1 | #pragma hdrstop [3/538] /usr/bin/g++ -DBUILD_LLVM -DPOCO_CMAKE -DPOCO_ENABLE_CPP11 -DPOCO_ENABLE_CPP14 -DPOCO_HAVE_FD_EPOLL -DPOCO_OS_FAMILY_UNIX -DPOCO_UNBUNDLED -DSTATIC_RR -DSUNDIALS_STATIC_DEFINE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_XOPEN_SOURCE=500 -I/usr/lib64/llvm13/include -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/thread-pool -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/parallel-hashmap/parallel_hashmap -I/usr/include/libexpat -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/source -isystem /usr/include/rr-libstruct -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c++17 -DNDEBUG -std=gnu++17 -fPIC -MD -MT source/CMakeFiles/roadrunner-static.dir/rrGetOptions.cpp.o -MF source/CMakeFiles/roadrunner-static.dir/rrGetOptions.cpp.o.d -o source/CMakeFiles/roadrunner-static.dir/rrGetOptions.cpp.o -c /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrGetOptions.cpp /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrGetOptions.cpp:1: warning: ignoring ‘#pragma hdrstop ’ [-Wunknown-pragmas] 1 | #pragma hdrstop [4/538] /usr/bin/g++ -DBUILD_LLVM -DPOCO_CMAKE -DPOCO_ENABLE_CPP11 -DPOCO_ENABLE_CPP14 -DPOCO_HAVE_FD_EPOLL -DPOCO_OS_FAMILY_UNIX -DPOCO_UNBUNDLED -DSTATIC_RR -DSUNDIALS_STATIC_DEFINE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_XOPEN_SOURCE=500 -I/usr/lib64/llvm13/include -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/thread-pool -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/parallel-hashmap/parallel_hashmap -I/usr/include/libexpat -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/source -isystem /usr/include/rr-libstruct -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c++17 -DNDEBUG -std=gnu++17 -fPIC -MD -MT source/CMakeFiles/roadrunner-static.dir/rrConfig.cpp.o -MF source/CMakeFiles/roadrunner-static.dir/rrConfig.cpp.o.d -o source/CMakeFiles/roadrunner-static.dir/rrConfig.cpp.o -c /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrConfig.cpp /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrConfig.cpp: In static member function ‘static std::vector > rr::Config::getKeyList()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrConfig.cpp:301:25: warning: catching polymorphic type ‘class std::runtime_error’ by value [-Wcatch-value=] 301 | catch (std::runtime_error) { | ^~~~~~~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrUtils.h:16, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrConfig.cpp:10: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h: In instantiation of ‘void rr::loadBinary(std::istream&, std::vector&) [with T = double; std::istream = std::basic_istream]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h:440:27: required from here 440 | loadBinary(in, vectorVal); | ~~~~~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h:334:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 334 | for (int i = 0; i < vsize; i++) { | ~~^~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrConfig.cpp: At global scope: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrConfig.cpp:66:24: warning: ‘std::string rr::strip(const std::string&)’ defined but not used [-Wunused-function] 66 | static std::string strip(const std::string& in) { | ^~~~~ [5/538] /usr/bin/g++ -DBUILD_LLVM -DPOCO_CMAKE -DPOCO_ENABLE_CPP11 -DPOCO_ENABLE_CPP14 -DPOCO_HAVE_FD_EPOLL -DPOCO_OS_FAMILY_UNIX -DPOCO_UNBUNDLED -DSTATIC_RR -DSUNDIALS_STATIC_DEFINE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_XOPEN_SOURCE=500 -I/usr/lib64/llvm13/include -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/thread-pool -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/parallel-hashmap/parallel_hashmap -I/usr/include/libexpat -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/source -isystem /usr/include/rr-libstruct -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c++17 -DNDEBUG -std=gnu++17 -fPIC -MD -MT source/CMakeFiles/roadrunner-static.dir/rrLogger.cpp.o -MF source/CMakeFiles/roadrunner-static.dir/rrLogger.cpp.o.d -o source/CMakeFiles/roadrunner-static.dir/rrLogger.cpp.o -c /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrLogger.cpp /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrLogger.cpp:1: warning: ignoring ‘#pragma hdrstop ’ [-Wunknown-pragmas] 1 | #pragma hdrstop In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrUtils.h:16, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrLogger.cpp:5: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h: In instantiation of ‘void rr::loadBinary(std::istream&, std::vector&) [with T = double; std::istream = std::basic_istream]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h:440:27: required from here 440 | loadBinary(in, vectorVal); | ~~~~~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h:334:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 334 | for (int i = 0; i < vsize; i++) { | ~~^~~~~~~ [6/538] /usr/bin/g++ -DBUILD_LLVM -DPOCO_CMAKE -DPOCO_ENABLE_CPP11 -DPOCO_ENABLE_CPP14 -DPOCO_HAVE_FD_EPOLL -DPOCO_OS_FAMILY_UNIX -DPOCO_UNBUNDLED -DSTATIC_RR -DSUNDIALS_STATIC_DEFINE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_XOPEN_SOURCE=500 -I/usr/lib64/llvm13/include -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/thread-pool -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/parallel-hashmap/parallel_hashmap -I/usr/include/libexpat -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/source -isystem /usr/include/rr-libstruct -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c++17 -DNDEBUG -std=gnu++17 -fPIC -MD -MT source/CMakeFiles/roadrunner-static.dir/rrExecutableModel.cpp.o -MF source/CMakeFiles/roadrunner-static.dir/rrExecutableModel.cpp.o.d -o source/CMakeFiles/roadrunner-static.dir/rrExecutableModel.cpp.o -c /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrExecutableModel.cpp /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrExecutableModel.cpp:1: warning: ignoring ‘#pragma hdrstop ’ [-Wunknown-pragmas] 1 | #pragma hdrstop [7/538] /usr/bin/g++ -DBUILD_LLVM -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/test/googletest-master/googlemock/include -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/test/googletest-master/googlemock -isystem /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/test/googletest-master/googletest/include -isystem /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/test/googletest-master/googletest -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c++17 -DNDEBUG -std=c++17 -fPIC -Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -MD -MT test/googletest-master/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o -MF test/googletest-master/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o.d -o test/googletest-master/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o -c /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/test/googletest-master/googlemock/src/gmock-all.cc [8/538] /usr/bin/g++ -DBUILD_LLVM -DPOCO_CMAKE -DPOCO_ENABLE_CPP11 -DPOCO_ENABLE_CPP14 -DPOCO_HAVE_FD_EPOLL -DPOCO_OS_FAMILY_UNIX -DPOCO_UNBUNDLED -DSTATIC_RR -DSUNDIALS_STATIC_DEFINE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_XOPEN_SOURCE=500 -I/usr/lib64/llvm13/include -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/thread-pool -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/parallel-hashmap/parallel_hashmap -I/usr/include/libexpat -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/source -isystem /usr/include/rr-libstruct -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c++17 -DNDEBUG -std=gnu++17 -fPIC -MD -MT source/CMakeFiles/roadrunner-static.dir/rrStringUtils.cpp.o -MF source/CMakeFiles/roadrunner-static.dir/rrStringUtils.cpp.o.d -o source/CMakeFiles/roadrunner-static.dir/rrStringUtils.cpp.o -c /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.cpp /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.cpp:1: warning: ignoring ‘#pragma hdrstop ’ [-Wunknown-pragmas] 1 | #pragma hdrstop /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.cpp: In function ‘std::string rr::removeChars(const std::string&, const std::string&)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.cpp:84:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 84 | for(int chrNr = 0; chrNr < chars.size(); chrNr++) | ~~~~~~^~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.cpp: In function ‘size_t rr::findMatchingRightParenthesis(const std::string&, size_t)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.cpp:105:12: warning: unused variable ‘leftPos’ [-Wunused-variable] 105 | size_t leftPos = expression.find("(", startFrom); //First lef parenthesis | ^~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.cpp: In function ‘int rr::getNumberOfFunctionArguments(const std::string&)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.cpp:135:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::__cxx11::basic_string::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 135 | for(int i = 0; i < expression.size(); i++) | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.cpp: In function ‘std::string rr::dblToStr(const double&)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.cpp:498:11: warning: unused variable ‘ptr’ [-Wunused-variable] 498 | char* ptr = gcvt(nt, sig, str); | ^~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.cpp: In function ‘std::string rr::toString(const std::vector >&, const std::string&)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.cpp:904:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 904 | for(int i = 0; i < vec.size(); i++) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.cpp:907:14: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 907 | if(i < vec.size() - 1) | ~~^~~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.cpp:11: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h: In instantiation of ‘void rr::loadBinary(std::istream&, std::vector&) [with T = double; std::istream = std::basic_istream]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h:440:27: required from here 440 | loadBinary(in, vectorVal); | ~~~~~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h:334:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 334 | for (int i = 0; i < vsize; i++) { | ~~^~~~~~~ [9/538] /usr/bin/g++ -DBUILD_LLVM -DPOCO_CMAKE -DPOCO_ENABLE_CPP11 -DPOCO_ENABLE_CPP14 -DPOCO_HAVE_FD_EPOLL -DPOCO_OS_FAMILY_UNIX -DPOCO_UNBUNDLED -DSTATIC_RR -DSUNDIALS_STATIC_DEFINE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_XOPEN_SOURCE=500 -I/usr/lib64/llvm13/include -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/thread-pool -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/parallel-hashmap/parallel_hashmap -I/usr/include/libexpat -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/source -isystem /usr/include/rr-libstruct -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c++17 -DNDEBUG -std=gnu++17 -fPIC -MD -MT source/CMakeFiles/roadrunner-static.dir/rrRoadRunnerOptions.cpp.o -MF source/CMakeFiles/roadrunner-static.dir/rrRoadRunnerOptions.cpp.o.d -o source/CMakeFiles/roadrunner-static.dir/rrRoadRunnerOptions.cpp.o -c /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.cpp /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.cpp:6: warning: ignoring ‘#pragma hdrstop ’ [-Wunknown-pragmas] 6 | #pragma hdrstop /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.cpp: In member function ‘void rr::SimulateOptions::loadSBMLSettings(const std::string&)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.cpp:133:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 133 | for (int i = 0; i < lines.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.cpp:161:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 161 | for (int i = 0; i < vars.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.cpp:172:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 172 | for (int i = 0; i < vars.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.cpp:183:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 183 | for (int i = 0; i < vars.size(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.cpp: In member function ‘virtual void rr::SimulateOptions::initialize()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.cpp:279:23: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 279 | if (steps != times.size() - 1) { | ~~~~~~^~~~~~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrUtils.h:16, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.cpp:10: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h: In instantiation of ‘void rr::loadBinary(std::istream&, std::vector&) [with T = double; std::istream = std::basic_istream]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h:440:27: required from here 440 | loadBinary(in, vectorVal); | ~~~~~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h:334:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 334 | for (int i = 0; i < vsize; i++) { | ~~^~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Dictionary.h:11, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.h:12, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.cpp:8: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const bool&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const bool&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const bool&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Ind ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Ind ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.cpp:399:96: required from here 399 | (Config::LLVM_BACKEND_VALUES) Config::getValue(Config::LLVM_BACKEND).getAs(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Ind ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Ind ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.cpp:399:96: required from here 399 | (Config::LLVM_BACKEND_VALUES) Config::getValue(Config::LLVM_BACKEND).getAs(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const unsigned int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const unsigned int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const unsigned int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const unsigned int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const unsigned int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Ind ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Ind ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.cpp:399:96: required from here 399 | (Config::LLVM_BACKEND_VALUES) Config::getValue(Config::LLVM_BACKEND).getAs(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const long int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const long int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const long int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const long int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const long int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Ind ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Ind ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.cpp:399:96: required from here 399 | (Config::LLVM_BACKEND_VALUES) Config::getValue(Config::LLVM_BACKEND).getAs(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const long unsigned int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const long unsigned int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const long unsigned int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const long unsigned int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const long unsigned int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Ind ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Ind ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.cpp:399:96: required from here 399 | (Config::LLVM_BACKEND_VALUES) Config::getValue(Config::LLVM_BACKEND).getAs(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const float&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const float&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const float&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const float&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const float&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Ind ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Ind ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.cpp:399:96: required from here 399 | (Config::LLVM_BACKEND_VALUES) Config::getValue(Config::LLVM_BACKEND).getAs(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const double&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const double&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const double&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const double&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const double&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Ind ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Ind ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.cpp:399:96: required from here 399 | (Config::LLVM_BACKEND_VALUES) Config::getValue(Config::LLVM_BACKEND).getAs(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const char&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const char&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const char&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const char&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const char&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Ind ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Ind ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.cpp:399:96: required from here 399 | (Config::LLVM_BACKEND_VALUES) Config::getValue(Config::LLVM_BACKEND).getAs(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const unsigned char&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const unsigned char&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const unsigned char&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const unsigned char&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const unsigned char&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Ind ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Ind ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunnerOptions.cpp:399:96: required from here 399 | (Config::LLVM_BACKEND_VALUES) Config::getValue(Config::LLVM_BACKEND).getAs(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [10/538] /usr/bin/g++ -DBUILD_LLVM -DPOCO_CMAKE -DPOCO_ENABLE_CPP11 -DPOCO_ENABLE_CPP14 -DPOCO_HAVE_FD_EPOLL -DPOCO_OS_FAMILY_UNIX -DPOCO_UNBUNDLED -DSTATIC_RR -DSUNDIALS_STATIC_DEFINE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_XOPEN_SOURCE=500 -I/usr/lib64/llvm13/include -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/thread-pool -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/parallel-hashmap/parallel_hashmap -I/usr/include/libexpat -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/source -isystem /usr/include/rr-libstruct -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c++17 -DNDEBUG -std=gnu++17 -fPIC -MD -MT source/CMakeFiles/roadrunner-static.dir/rrUtils.cpp.o -MF source/CMakeFiles/roadrunner-static.dir/rrUtils.cpp.o.d -o source/CMakeFiles/roadrunner-static.dir/rrUtils.cpp.o -c /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrUtils.cpp /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrUtils.cpp:1: warning: ignoring ‘#pragma hdrstop ’ [-Wunknown-pragmas] 1 | #pragma hdrstop /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrUtils.cpp: In function ‘bool rr::cleanFolder(const std::string&, const std::string&, const std::vector >&)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrUtils.cpp:70:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 70 | for(int i = 0; i < extensions.size(); i++) | ~~^~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrUtils.cpp: In function ‘std::string rr::getFileContent(std::filesystem::__cxx11::path)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrUtils.cpp:318:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 318 | for(int i = 0; i < lines.size(); i++) | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrUtils.cpp: In function ‘bool rr::copyValues(std::vector&, double*, const int&, const int&)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrUtils.cpp:574:46: warning: comparison of integer expressions of different signedness: ‘const int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 574 | if(!dest.size() || !source || startIndex > dest.size()) | ~~~~~~~~~~~^~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrUtils.cpp: In function ‘bool rr::copyStdVectorToCArray(const std::vector&, double*, int)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrUtils.cpp:590:32: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 590 | if((size && !dest) || size > src.size()) | ~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrUtils.cpp: In function ‘bool rr::copyStdVectorToCArray(const std::vector&, bool*, int)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrUtils.cpp:605:32: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 605 | if((size && !dest) || size > src.size()) | ~~~~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrUtils.cpp: In function ‘double* rr::createVector(const std::vector&)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrUtils.cpp:692:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 692 | for(int i = 0; i < vec.size(); i++) | ~~^~~~~~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrUtils.cpp:38: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h: In instantiation of ‘void rr::loadBinary(std::istream&, std::vector&) [with T = double; std::istream = std::basic_istream]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h:440:27: required from here 440 | loadBinary(in, vectorVal); | ~~~~~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h:334:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 334 | for (int i = 0; i < vsize; i++) { | ~~^~~~~~~ [11/538] /usr/bin/g++ -DBUILD_LLVM -DPOCO_CMAKE -DPOCO_ENABLE_CPP11 -DPOCO_ENABLE_CPP14 -DPOCO_HAVE_FD_EPOLL -DPOCO_OS_FAMILY_UNIX -DPOCO_UNBUNDLED -DSTATIC_RR -DSUNDIALS_STATIC_DEFINE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_XOPEN_SOURCE=500 -I/usr/lib64/llvm13/include -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/thread-pool -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/parallel-hashmap/parallel_hashmap -I/usr/include/libexpat -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/source -isystem /usr/include/rr-libstruct -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c++17 -DNDEBUG -std=gnu++17 -fPIC -MD -MT source/CMakeFiles/roadrunner-static.dir/Integrator.cpp.o -MF source/CMakeFiles/roadrunner-static.dir/Integrator.cpp.o.d -o source/CMakeFiles/roadrunner-static.dir/Integrator.cpp.o -c /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Integrator.cpp In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Matrix3D.h:8, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/SensitivitySolver.h:9, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/ForwardSensitivitySolver.h:10, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.h:26, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Integrator.cpp:17: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Matrix.h:40:32: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] 40 | explicit Matrix(ls::Matrix &matrix); | ^~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Matrix.h:40:32: note: remove the ‘< >’ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Matrix.h:46:32: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] 46 | explicit Matrix(ls::Matrix *matrix); | ^~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Matrix.h:46:32: note: remove the ‘< >’ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Integrator.h:21, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Integrator.cpp:16: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Solver.h:84:25: warning: ‘virtual rr::Setting rr::Solver::getValue(const std::string&) const’ was hidden [-Woverloaded-virtual=] 84 | virtual Setting getValue(const std::string& key) const; | ^~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Integrator.cpp:19: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/RK4Integrator.h:107:25: note: by ‘virtual rr::Setting rr::RK4Integrator::getValue(std::string)’ 107 | virtual Setting getValue(std::string key); | ^~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Integrator.cpp:20: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/EulerIntegrator.h: In member function ‘virtual double rr::EulerIntegrator::integrate(double, double)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/EulerIntegrator.h:156:37: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 156 | for (int k_ = 0; k_ < eventStatus.size(); ++k_) { | ~~~^~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib64/llvm13/include/llvm/PassRegistry.h:19, from /usr/lib64/llvm13/include/llvm/PassSupport.h:29, from /usr/lib64/llvm13/include/llvm/Pass.h:338, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/LLVMIncludes.h:37, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/LLVMExecutableModel.h:25, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/ForwardSensitivitySolver.h:13: /usr/lib64/llvm13/include/llvm/ADT/DenseMap.h: In instantiation of ‘void llvm::DenseMapBase::clear() [with DerivedT = llvm::DenseMap; KeyT = llvm::Instruction*; ValueT = unsigned int; KeyInfoT = llvm::DenseMapInfo; BucketT = llvm::detail::DenseMapPair]’: /usr/lib64/llvm13/include/llvm/Transforms/InstCombine/InstCombineWorklist.h:120:22: required from here 120 | WorklistMap.clear(); | ~~~~~~~~~~~~~~~~~^~ /usr/lib64/llvm13/include/llvm/ADT/DenseMap.h:128:16: warning: variable ‘NumEntries’ set but not used [-Wunused-but-set-variable=] 128 | unsigned NumEntries = getNumEntries(); | ^~~~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Dictionary.h:11, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Integrator.h:19: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const bool&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const bool&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const bool&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator int() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator int() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = int]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/EulerIntegrator.h:117:42: required from here 117 | int internal_steps = getValue("subdivision_steps"); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator int() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator int() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = int]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/EulerIntegrator.h:117:42: required from here 117 | int internal_steps = getValue("subdivision_steps"); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const unsigned int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const unsigned int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const unsigned int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const unsigned int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const unsigned int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator int() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator int() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = int]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/EulerIntegrator.h:117:42: required from here 117 | int internal_steps = getValue("subdivision_steps"); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const long int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const long int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const long int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const long int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const long int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator int() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator int() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = int]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/EulerIntegrator.h:117:42: required from here 117 | int internal_steps = getValue("subdivision_steps"); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const long unsigned int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const long unsigned int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const long unsigned int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const long unsigned int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const long unsigned int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator int() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator int() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = int]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/EulerIntegrator.h:117:42: required from here 117 | int internal_steps = getValue("subdivision_steps"); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const float&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const float&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const float&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const float&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const float&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator int() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator int() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = int]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/EulerIntegrator.h:117:42: required from here 117 | int internal_steps = getValue("subdivision_steps"); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const double&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const double&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const double&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const double&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const double&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator int() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator int() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = int]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/EulerIntegrator.h:117:42: required from here 117 | int internal_steps = getValue("subdivision_steps"); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const char&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const char&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const char&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const char&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const char&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator int() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator int() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = int]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/EulerIntegrator.h:117:42: required from here 117 | int internal_steps = getValue("subdivision_steps"); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const unsigned char&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const unsigned char&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const unsigned char&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const unsigned char&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const unsigned char&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator int() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator int() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = int]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/EulerIntegrator.h:117:42: required from here 117 | int internal_steps = getValue("subdivision_steps"); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValuesCodeGen.h:16, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/LLVMExecutableModel.h:40: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::SetGlobalParameterInitValueCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:55:18: required from here 55 | llvm::Value* SetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:93:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 93 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::SetCompartmentInitVolumeCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:55:18: required from here 55 | llvm::Value* SetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:93:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 93 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::SetBoundarySpeciesInitAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:55:18: required from here 55 | llvm::Value* SetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:93:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 93 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::SetFloatingSpeciesInitAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:55:18: required from here 55 | llvm::Value* SetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:93:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 93 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::SetBoundarySpeciesInitConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:55:18: required from here 55 | llvm::Value* SetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:93:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 93 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::SetFloatingSpeciesInitConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:55:18: required from here 55 | llvm::Value* SetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:93:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 93 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValuesCodeGen.h:16, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/LLVMExecutableModel.h:39: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetValueCodeGenBase::codeGen() [with Derived = rrllvm::SetGlobalParameterCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* SetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:95:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 95 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetValueCodeGenBase::codeGen() [with Derived = rrllvm::SetCompartmentVolumeCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* SetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:95:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 95 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetValueCodeGenBase::codeGen() [with Derived = rrllvm::SetFloatingSpeciesConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* SetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:95:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 95 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetValueCodeGenBase::codeGen() [with Derived = rrllvm::SetBoundarySpeciesConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* SetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:95:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 95 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetValueCodeGenBase::codeGen() [with Derived = rrllvm::SetFloatingSpeciesAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* SetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:95:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 95 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetValueCodeGenBase::codeGen() [with Derived = rrllvm::SetBoundarySpeciesAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* SetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:95:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 95 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValuesCodeGen.h:16, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/LLVMExecutableModel.h:31: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::GetGlobalParameterInitValueCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* GetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::GetCompartmentInitVolumeCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* GetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::GetBoundarySpeciesInitAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* GetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::GetFloatingSpeciesInitAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* GetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::GetBoundarySpeciesInitConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* GetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::GetFloatingSpeciesInitConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* GetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValuesCodeGen.h:16, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/LLVMExecutableModel.h:30: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetValueCodeGenBase::codeGen() [with Derived = rrllvm::GetGlobalParameterCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:58:18: required from here 58 | llvm::Value* GetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetValueCodeGenBase::codeGen() [with Derived = rrllvm::GetCompartmentVolumeCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:58:18: required from here 58 | llvm::Value* GetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetValueCodeGenBase::codeGen() [with Derived = rrllvm::GetFloatingSpeciesConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:58:18: required from here 58 | llvm::Value* GetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetValueCodeGenBase::codeGen() [with Derived = rrllvm::GetBoundarySpeciesConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:58:18: required from here 58 | llvm::Value* GetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetValueCodeGenBase::codeGen() [with Derived = rrllvm::GetFloatingSpeciesAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:58:18: required from here 58 | llvm::Value* GetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetValueCodeGenBase::codeGen() [with Derived = rrllvm::GetBoundarySpeciesAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:58:18: required from here 58 | llvm::Value* GetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ [12/538] /usr/bin/g++ -DBUILD_LLVM -DPOCO_CMAKE -DPOCO_ENABLE_CPP11 -DPOCO_ENABLE_CPP14 -DPOCO_HAVE_FD_EPOLL -DPOCO_OS_FAMILY_UNIX -DPOCO_UNBUNDLED -DSTATIC_RR -DSUNDIALS_STATIC_DEFINE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_XOPEN_SOURCE=500 -I/usr/lib64/llvm13/include -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/thread-pool -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/parallel-hashmap/parallel_hashmap -I/usr/include/libexpat -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/source -isystem /usr/include/rr-libstruct -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c++17 -DNDEBUG -std=gnu++17 -fPIC -MD -MT source/CMakeFiles/roadrunner-static.dir/SundialsLogger.cpp.o -MF source/CMakeFiles/roadrunner-static.dir/SundialsLogger.cpp.o.d -o source/CMakeFiles/roadrunner-static.dir/SundialsLogger.cpp.o -c /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/SundialsLogger.cpp FAILED: [code=1] source/CMakeFiles/roadrunner-static.dir/SundialsLogger.cpp.o /usr/bin/g++ -DBUILD_LLVM -DPOCO_CMAKE -DPOCO_ENABLE_CPP11 -DPOCO_ENABLE_CPP14 -DPOCO_HAVE_FD_EPOLL -DPOCO_OS_FAMILY_UNIX -DPOCO_UNBUNDLED -DSTATIC_RR -DSUNDIALS_STATIC_DEFINE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_XOPEN_SOURCE=500 -I/usr/lib64/llvm13/include -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/thread-pool -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/parallel-hashmap/parallel_hashmap -I/usr/include/libexpat -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/source -isystem /usr/include/rr-libstruct -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c++17 -DNDEBUG -std=gnu++17 -fPIC -MD -MT source/CMakeFiles/roadrunner-static.dir/SundialsLogger.cpp.o -MF source/CMakeFiles/roadrunner-static.dir/SundialsLogger.cpp.o.d -o source/CMakeFiles/roadrunner-static.dir/SundialsLogger.cpp.o -c /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/SundialsLogger.cpp /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/SundialsLogger.cpp:12:2: error: #error "roadrunner needs SUNDIALS 7.8.0 or later: it uses SUNLogger_SetQueueAndFlushMsgFns" 12 | #error "roadrunner needs SUNDIALS 7.8.0 or later: it uses SUNLogger_SetQueueAndFlushMsgFns" | ^~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/SundialsLogger.cpp: In function ‘void rr::routeSundialsLoggingToRoadRunnerLogger(SUNContext)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/SundialsLogger.cpp:73:13: error: ‘SUNLogger_SetQueueAndFlushMsgFns’ was not declared in this scope 73 | if (SUNLogger_SetQueueAndFlushMsgFns(logger, queueSundialsMessage, flushSundialsMessages, nullptr) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/SundialsLogger.cpp: At global scope: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/SundialsLogger.cpp:62:23: warning: ‘SUNErrCode rr::flushSundialsMessages(SUNLogger, SUNLogLevel, void*)’ defined but not used [-Wunused-function] 62 | static SUNErrCode flushSundialsMessages(SUNLogger /*logger*/, SUNLogLevel /*lvl*/, void* /*content*/) { | ^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/SundialsLogger.cpp:21:23: warning: ‘SUNErrCode rr::queueSundialsMessage(SUNLogger, SUNLogLevel, const char*, int, const char*, const char*, const char*, void*)’ defined but not used [-Wunused-function] 21 | static SUNErrCode queueSundialsMessage(SUNLogger /*logger*/, SUNLogLevel lvl, const char* /*prefix*/, | ^~~~~~~~~~~~~~~~~~~~ [13/538] /usr/bin/g++ -DBUILD_LLVM -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/test/googletest-master/googletest/include -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/test/googletest-master/googletest -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c++17 -DNDEBUG -std=c++17 -fPIC -Wall -Wshadow -Wundef -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -MD -MT test/googletest-master/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o -MF test/googletest-master/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o.d -o test/googletest-master/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o -c /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/test/googletest-master/googletest/src/gtest-all.cc [14/538] /usr/bin/g++ -DBUILD_LLVM -DPOCO_CMAKE -DPOCO_ENABLE_CPP11 -DPOCO_ENABLE_CPP14 -DPOCO_HAVE_FD_EPOLL -DPOCO_OS_FAMILY_UNIX -DPOCO_UNBUNDLED -DSTATIC_RR -DSUNDIALS_STATIC_DEFINE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_XOPEN_SOURCE=500 -I/usr/lib64/llvm13/include -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/thread-pool -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/parallel-hashmap/parallel_hashmap -I/usr/include/libexpat -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/source -isystem /usr/include/rr-libstruct -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c++17 -DNDEBUG -std=gnu++17 -fPIC -MD -MT source/CMakeFiles/roadrunner-static.dir/CVODEIntegrator.cpp.o -MF source/CMakeFiles/roadrunner-static.dir/CVODEIntegrator.cpp.o.d -o source/CMakeFiles/roadrunner-static.dir/CVODEIntegrator.cpp.o -c /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:1: warning: ignoring ‘#pragma hdrstop ’ [-Wunknown-pragmas] 1 | #pragma hdrstop In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Matrix3D.h:8, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/SensitivitySolver.h:9, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/ForwardSensitivitySolver.h:10, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.h:26, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:3: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Matrix.h:40:32: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] 40 | explicit Matrix(ls::Matrix &matrix); | ^~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Matrix.h:40:32: note: remove the ‘< >’ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Matrix.h:46:32: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] 46 | explicit Matrix(ls::Matrix *matrix); | ^~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Matrix.h:46:32: note: remove the ‘< >’ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.h: In constructor ‘rr::CVODEIntegrator::CVODEIntegrator(rr::ExecutableModel*)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.h:268:18: warning: ‘rr::CVODEIntegrator::mStateVector’ will be initialized after [-Wreorder] 268 | N_Vector mStateVector = nullptr; | ^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.h:267:15: warning: ‘void* rr::CVODEIntegrator::mCVODE_Memory’ [-Wreorder] 267 | void *mCVODE_Memory = nullptr; | ^~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:85:5: warning: when initialized here [-Wreorder] 85 | CVODEIntegrator::CVODEIntegrator(ExecutableModel *aModel) | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.h:337:14: warning: ‘rr::CVODEIntegrator::stateVectorVariables’ will be initialized after [-Wreorder] 337 | bool stateVectorVariables; | ^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.h:276:14: warning: ‘bool rr::CVODEIntegrator::variableStepPendingEvent’ [-Wreorder] 276 | bool variableStepPendingEvent; | ^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:85:5: warning: when initialized here [-Wreorder] 85 | CVODEIntegrator::CVODEIntegrator(ExecutableModel *aModel) | ^~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp: In member function ‘void rr::CVODEIntegrator::checkVectorSize(int, size_t) const’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:134:22: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 134 | if (expected != real) | ~~~~~~~~~^~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp: In member function ‘virtual void rr::CVODEIntegrator::loadSBMLSettings(const std::string&)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:258:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 258 | for (int i = 0; i < lines.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp: In member function ‘virtual void rr::CVODEIntegrator::tweakTolerances()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:609:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 609 | for (int i = 0; i < v.size(); i++) | ~~^~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp: In member function ‘virtual std::vector rr::CVODEIntegrator::getAbsoluteToleranceVector()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:861:46: warning: comparison of integer expressions of different signedness: ‘std::vector::size_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 861 | if (amount_tolerances.size() == species + rrs) { | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp: In member function ‘void rr::CVODEIntegrator::setCVODETolerances()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:958:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 958 | for (int i = 0; i < amount_tolerances.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib64/llvm13/include/llvm/PassRegistry.h:19, from /usr/lib64/llvm13/include/llvm/PassSupport.h:29, from /usr/lib64/llvm13/include/llvm/Pass.h:338, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/LLVMIncludes.h:37, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/LLVMExecutableModel.h:25, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/ForwardSensitivitySolver.h:13: /usr/lib64/llvm13/include/llvm/ADT/DenseMap.h: In instantiation of ‘void llvm::DenseMapBase::clear() [with DerivedT = llvm::DenseMap; KeyT = llvm::Instruction*; ValueT = unsigned int; KeyInfoT = llvm::DenseMapInfo; BucketT = llvm::detail::DenseMapPair]’: /usr/lib64/llvm13/include/llvm/Transforms/InstCombine/InstCombineWorklist.h:120:22: required from here 120 | WorklistMap.clear(); | ~~~~~~~~~~~~~~~~~^~ /usr/lib64/llvm13/include/llvm/ADT/DenseMap.h:128:16: warning: variable ‘NumEntries’ set but not used [-Wunused-but-set-variable=] 128 | unsigned NumEntries = getNumEntries(); | ^~~~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:7: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h: In instantiation of ‘void rr::loadBinary(std::istream&, std::vector&) [with T = double; std::istream = std::basic_istream]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h:440:27: required from here 440 | loadBinary(in, vectorVal); | ~~~~~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h:334:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 334 | for (int i = 0; i < vsize; i++) { | ~~^~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Dictionary.h:11, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Integrator.h:19, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.h:17: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const bool&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const bool&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const bool&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = bool]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = bool]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:355:42: required from here 355 | if (getValue("stiff").getAs()) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = bool]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = bool]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:355:42: required from here 355 | if (getValue("stiff").getAs()) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const unsigned int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const unsigned int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const unsigned int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const unsigned int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const unsigned int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = bool]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = bool]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:355:42: required from here 355 | if (getValue("stiff").getAs()) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const long int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const long int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const long int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const long int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const long int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = bool]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = bool]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:355:42: required from here 355 | if (getValue("stiff").getAs()) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const long unsigned int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const long unsigned int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const long unsigned int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const long unsigned int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const long unsigned int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = bool]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = bool]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:355:42: required from here 355 | if (getValue("stiff").getAs()) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const float&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const float&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const float&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const float&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const float&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = bool]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = bool]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:355:42: required from here 355 | if (getValue("stiff").getAs()) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const double&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const double&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const double&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const double&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const double&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = bool]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = bool]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:355:42: required from here 355 | if (getValue("stiff").getAs()) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const char&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const char&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const char&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const char&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const char&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = bool]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = bool]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:355:42: required from here 355 | if (getValue("stiff").getAs()) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const unsigned char&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const unsigned char&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const unsigned char&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const unsigned char&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const unsigned char&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = bool]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = bool]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:355:42: required from here 355 | if (getValue("stiff").getAs()) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const bool&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const bool&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const bool&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:358:49: required from here 358 | if (newValue <= oldOrderValue.getAs()) { | ~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:358:49: required from here 358 | if (newValue <= oldOrderValue.getAs()) { | ~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const unsigned int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const unsigned int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const unsigned int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const unsigned int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const unsigned int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:358:49: required from here 358 | if (newValue <= oldOrderValue.getAs()) { | ~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const long int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const long int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const long int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const long int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const long int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:358:49: required from here 358 | if (newValue <= oldOrderValue.getAs()) { | ~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const long unsigned int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const long unsigned int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const long unsigned int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const long unsigned int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const long unsigned int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:358:49: required from here 358 | if (newValue <= oldOrderValue.getAs()) { | ~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const float&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const float&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const float&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const float&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const float&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:358:49: required from here 358 | if (newValue <= oldOrderValue.getAs()) { | ~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const double&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const double&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const double&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const double&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const double&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:358:49: required from here 358 | if (newValue <= oldOrderValue.getAs()) { | ~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const char&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const char&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const char&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const char&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const char&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:358:49: required from here 358 | if (newValue <= oldOrderValue.getAs()) { | ~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const unsigned char&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const unsigned char&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const unsigned char&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const unsigned char&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const unsigned char&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:358:49: required from here 358 | if (newValue <= oldOrderValue.getAs()) { | ~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const bool&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const bool&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const bool&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator double() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator double() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = double]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = double]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:390:66: required from here 390 | CVodeSetInitStep(mCVODE_Memory, (double) getValue("initial_time_step")); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator double() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator double() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = double]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = double]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:390:66: required from here 390 | CVodeSetInitStep(mCVODE_Memory, (double) getValue("initial_time_step")); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const unsigned int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const unsigned int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const unsigned int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const unsigned int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const unsigned int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator double() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator double() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = double]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = double]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:390:66: required from here 390 | CVodeSetInitStep(mCVODE_Memory, (double) getValue("initial_time_step")); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const long int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const long int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const long int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const long int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const long int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator double() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator double() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = double]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = double]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:390:66: required from here 390 | CVodeSetInitStep(mCVODE_Memory, (double) getValue("initial_time_step")); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const long unsigned int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const long unsigned int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const long unsigned int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const long unsigned int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const long unsigned int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator double() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator double() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = double]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = double]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:390:66: required from here 390 | CVodeSetInitStep(mCVODE_Memory, (double) getValue("initial_time_step")); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const float&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const float&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const float&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const float&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const float&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator double() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator double() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = double]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = double]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:390:66: required from here 390 | CVodeSetInitStep(mCVODE_Memory, (double) getValue("initial_time_step")); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const double&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const double&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const double&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const double&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const double&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator double() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator double() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = double]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = double]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:390:66: required from here 390 | CVodeSetInitStep(mCVODE_Memory, (double) getValue("initial_time_step")); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const char&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const char&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const char&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const char&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const char&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator double() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator double() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = double]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = double]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:390:66: required from here 390 | CVodeSetInitStep(mCVODE_Memory, (double) getValue("initial_time_step")); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const unsigned char&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const unsigned char&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const unsigned char&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const unsigned char&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const unsigned char&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator double() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator double() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = double]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = double]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/CVODEIntegrator.cpp:390:66: required from here 390 | CVodeSetInitStep(mCVODE_Memory, (double) getValue("initial_time_step")); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValuesCodeGen.h:16, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/LLVMExecutableModel.h:40: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::SetGlobalParameterInitValueCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:55:18: required from here 55 | llvm::Value* SetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:93:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 93 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::SetCompartmentInitVolumeCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:55:18: required from here 55 | llvm::Value* SetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:93:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 93 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::SetBoundarySpeciesInitAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:55:18: required from here 55 | llvm::Value* SetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:93:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 93 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::SetFloatingSpeciesInitAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:55:18: required from here 55 | llvm::Value* SetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:93:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 93 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::SetBoundarySpeciesInitConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:55:18: required from here 55 | llvm::Value* SetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:93:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 93 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::SetFloatingSpeciesInitConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:55:18: required from here 55 | llvm::Value* SetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:93:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 93 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValuesCodeGen.h:16, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/LLVMExecutableModel.h:39: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetValueCodeGenBase::codeGen() [with Derived = rrllvm::SetGlobalParameterCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* SetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:95:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 95 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetValueCodeGenBase::codeGen() [with Derived = rrllvm::SetCompartmentVolumeCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* SetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:95:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 95 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetValueCodeGenBase::codeGen() [with Derived = rrllvm::SetFloatingSpeciesConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* SetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:95:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 95 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetValueCodeGenBase::codeGen() [with Derived = rrllvm::SetBoundarySpeciesConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* SetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:95:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 95 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetValueCodeGenBase::codeGen() [with Derived = rrllvm::SetFloatingSpeciesAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* SetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:95:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 95 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetValueCodeGenBase::codeGen() [with Derived = rrllvm::SetBoundarySpeciesAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* SetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:95:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 95 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValuesCodeGen.h:16, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/LLVMExecutableModel.h:31: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::GetGlobalParameterInitValueCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* GetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::GetCompartmentInitVolumeCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* GetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::GetBoundarySpeciesInitAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* GetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::GetFloatingSpeciesInitAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* GetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::GetBoundarySpeciesInitConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* GetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::GetFloatingSpeciesInitConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* GetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValuesCodeGen.h:16, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/LLVMExecutableModel.h:30: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetValueCodeGenBase::codeGen() [with Derived = rrllvm::GetGlobalParameterCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:58:18: required from here 58 | llvm::Value* GetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetValueCodeGenBase::codeGen() [with Derived = rrllvm::GetCompartmentVolumeCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:58:18: required from here 58 | llvm::Value* GetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetValueCodeGenBase::codeGen() [with Derived = rrllvm::GetFloatingSpeciesConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:58:18: required from here 58 | llvm::Value* GetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetValueCodeGenBase::codeGen() [with Derived = rrllvm::GetBoundarySpeciesConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:58:18: required from here 58 | llvm::Value* GetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetValueCodeGenBase::codeGen() [with Derived = rrllvm::GetFloatingSpeciesAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:58:18: required from here 58 | llvm::Value* GetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetValueCodeGenBase::codeGen() [with Derived = rrllvm::GetBoundarySpeciesAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:58:18: required from here 58 | llvm::Value* GetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ [15/538] /usr/bin/g++ -DBUILD_LLVM -DPOCO_CMAKE -DPOCO_ENABLE_CPP11 -DPOCO_ENABLE_CPP14 -DPOCO_HAVE_FD_EPOLL -DPOCO_OS_FAMILY_UNIX -DPOCO_UNBUNDLED -DSTATIC_RR -DSUNDIALS_STATIC_DEFINE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_XOPEN_SOURCE=500 -I/usr/lib64/llvm13/include -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/thread-pool -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/parallel-hashmap/parallel_hashmap -I/usr/include/libexpat -I/builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/redhat-linux-build/source -isystem /usr/include/rr-libstruct -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -std=c++17 -DNDEBUG -std=gnu++17 -fPIC -MD -MT source/CMakeFiles/roadrunner-static.dir/rrRoadRunner.cpp.o -MF source/CMakeFiles/roadrunner-static.dir/rrRoadRunner.cpp.o.d -o source/CMakeFiles/roadrunner-static.dir/rrRoadRunner.cpp.o -c /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1: warning: ignoring ‘#pragma hdrstop ’ [-Wunknown-pragmas] 1 | #pragma hdrstop In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Matrix3D.h:8, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/SensitivitySolver.h:9, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/ForwardSensitivitySolver.h:10, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:9: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Matrix.h:40:32: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] 40 | explicit Matrix(ls::Matrix &matrix); | ^~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Matrix.h:40:32: note: remove the ‘< >’ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Matrix.h:46:32: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor] 46 | explicit Matrix(ls::Matrix *matrix); | ^~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Matrix.h:46:32: note: remove the ‘< >’ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In constructor ‘rr::RoadRunnerImpl::RoadRunnerImpl(const std::string&, const rr::Dictionary*)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:253:25: warning: ‘rr::RoadRunnerImpl::simulateOpt’ will be initialized after [-Wreorder] 253 | SimulateOptions simulateOpt; | ^~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:206:13: warning: ‘int rr::RoadRunnerImpl::mInstanceID’ [-Wreorder] 206 | int mInstanceID; | ^~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:272:9: warning: when initialized here [-Wreorder] 272 | RoadRunnerImpl(const std::string &uriOrSBML, const Dictionary *dict) : | ^~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In constructor ‘rr::RoadRunnerImpl::RoadRunnerImpl(const std::string&, const std::string&, const std::string&)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:253:25: warning: ‘rr::RoadRunnerImpl::simulateOpt’ will be initialized after [-Wreorder] 253 | SimulateOptions simulateOpt; | ^~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:206:13: warning: ‘int rr::RoadRunnerImpl::mInstanceID’ [-Wreorder] 206 | int mInstanceID; | ^~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:289:9: warning: when initialized here [-Wreorder] 289 | RoadRunnerImpl(const std::string &_compiler, const std::string &_tempDir, | ^~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In static member function ‘static std::vector > rr::RoadRunner::getRegisteredIntegratorNames()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:891:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 891 | for (int n = 0; n < IntegratorFactory::getInstance().size(); ++n) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In static member function ‘static std::vector > rr::RoadRunner::getRegisteredSteadyStateSolverNames()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:899:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 899 | for (int n = 0; n < SteadyStateSolverFactory::getInstance().size(); ++n) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In static member function ‘static std::vector > rr::RoadRunner::getRegisteredSensitivitySolverNames()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:907:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 907 | for (int n = 0; n < SensitivitySolverFactory::getInstance().size(); ++n) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘size_t rr::RoadRunner::createDefaultTimeCourseSelectionList()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1065:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 1065 | for (int i = 0; i < numFloatingSpecies; i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1078:18: warning: catching polymorphic type ‘class rr::NotImplementedException’ by value [-Wcatch-value=] 1078 | } catch (NotImplementedException) { | ^~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1093:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 1093 | for (int i = 0; i < impl->mSelectionList.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘size_t rr::RoadRunner::createTimeCourseSelectionList()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1112:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 1112 | for (int i = 0; i < impl->mSelectionList.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘double rr::RoadRunner::getValue(const rr::SelectionRecord&)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1183:29: warning: catching polymorphic type ‘class std::out_of_range’ by value [-Wcatch-value=] 1183 | catch (std::out_of_range) { | ^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1198:29: warning: catching polymorphic type ‘class std::out_of_range’ by value [-Wcatch-value=] 1198 | catch (std::out_of_range) { | ^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1211:29: warning: catching polymorphic type ‘class std::invalid_argument’ by value [-Wcatch-value=] 1211 | catch (std::invalid_argument) { | ^~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1224:29: warning: catching polymorphic type ‘class std::out_of_range’ by value [-Wcatch-value=] 1224 | catch (std::out_of_range) { | ^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1237:29: warning: catching polymorphic type ‘class std::invalid_argument’ by value [-Wcatch-value=] 1237 | catch (std::invalid_argument) { | ^~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1316:32: warning: comparison of integer expressions of different signedness: ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 1316 | if (eig.size() <= index) { | ~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1334:32: warning: comparison of integer expressions of different signedness: ‘std::vector, std::allocator > >::size_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 1334 | if (eig.size() <= index) { | ~~~~~~~~~~~^~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘bool rr::RoadRunner::populateResult()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1601:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 1601 | for (int i = 0; i < impl->mSelectionList.size(); ++i) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In function ‘bool rr::hasTime(const ASTNode*)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:2027:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 2027 | for (int c = 0; c < astn->getNumChildren(); c++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘const ls::DoubleMatrix* rr::RoadRunner::simulate(const rr::SimulateOptions*)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:2067:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 2067 | for (int e = 0; e < loe->size(); e++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:2081:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 2081 | for (int r = 0; r < lor->size(); r++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:2089:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 2089 | for (int r = 0; r < lorules->size(); r++) { | ~~^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:2137:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 2137 | for (int i = 1; i < selList.size(); i++) { | ~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:2182:55: warning: comparison of integer expressions of different signedness: ‘std::__cxx11::list >::size_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare] 2182 | if (writeToFile && results.size() >= kRowsPerWrite) { | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:2216:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 2216 | for (int n = 0; n < row.size(); ++n) { | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:2241:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 2241 | for (int n = 0; n < row.size(); ++n) { | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:2388:28: warning: unused variable ‘itime’ [-Wunused-variable] 2388 | double itime = self.integrator->integrate(tout, next - tout); | ^~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘ls::DoubleMatrix rr::RoadRunner::getFloatingSpeciesAmountsNamedArray()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:2556:24: warning: unused variable ‘ls’ [-Wunused-variable] 2556 | LibStructural *ls = getLibStruct(); | ^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘ls::DoubleMatrix rr::RoadRunner::getFloatingSpeciesConcentrationsNamedArray()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:2577:24: warning: unused variable ‘ls’ [-Wunused-variable] 2577 | LibStructural *ls = getLibStruct(); | ^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘ls::DoubleMatrix rr::RoadRunner::getIndependentFloatingSpeciesAmountsNamedArray()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:2644:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 2644 | for (int i = 0; i < num_ind; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘ls::DoubleMatrix rr::RoadRunner::getDependentFloatingSpeciesAmountsNamedArray()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:2660:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 2660 | for (int i = 0; i < num_dep; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘ls::DoubleMatrix rr::RoadRunner::getIndependentFloatingSpeciesConcentrationsNamedArray()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:2676:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 2676 | for (int i = 0; i < num_ind; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘ls::DoubleMatrix rr::RoadRunner::getDependentFloatingSpeciesConcentrationsNamedArray()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:2692:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 2692 | for (int i = 0; i < num_dep; i++) { | ~~^~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘std::vector rr::RoadRunner::getIndependentRatesOfChange()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:2778:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 2778 | for (int i = 0; i < nindep; ++i) { | ~~^~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘std::vector rr::RoadRunner::getDependentRatesOfChange()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:2814:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 2814 | for (int i = 0; i < ndep; ++i) { | ~~^~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘ls::DoubleMatrix rr::RoadRunner::getFullJacobian()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3354:30: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 3354 | for (int i= 0; i < jac.RSize(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3359:39: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 3359 | for (int j = 0; j < jac.CSize(); j++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3351:17: warning: unused variable ‘jacCols’ [-Wunused-variable] 3351 | int jacCols = jac.CSize(); | ^~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘ls::DoubleMatrix rr::RoadRunner::getConservationMatrix()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3596:43: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 3596 | for (int row = 0; row < mat.RSize(); row++) { | ~~~~^~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3597:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 3597 | for (int col = 0; col < mat.CSize(); col++) { | ~~~~^~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘size_t rr::RoadRunner::createDefaultSteadyStateSelectionList()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3680:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 3680 | for (int i = 0; i < numFloatingSpecies; i++) { | ~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘std::vector rr::RoadRunner::getSteadyStateValues()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3705:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 3705 | for (int i = 0; i < impl->mSteadyStateSelection.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘std::vector > rr::RoadRunner::getSteadyStateSelectionStrings() const’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3714:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 3714 | for (int i = 0; i < impl->mSteadyStateSelection.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘ls::DoubleMatrix rr::RoadRunner::getSteadyStateValuesNamedArray()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3732:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 3732 | for (int i = 0; i < impl->mSteadyStateSelection.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘ls::DoubleMatrix rr::RoadRunner::getBoundarySpeciesConcentrationsNamedArray()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3968:24: warning: unused variable ‘ls’ [-Wunused-variable] 3968 | LibStructural *ls = getLibStruct(); | ^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘ls::DoubleMatrix rr::RoadRunner::getBoundarySpeciesAmountsNamedArray()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3990:24: warning: unused variable ‘ls’ [-Wunused-variable] 3990 | LibStructural *ls = getLibStruct(); | ^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘double rr::RoadRunner::getGlobalParameterByIndex(const int&)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:4231:21: warning: unused variable ‘arraySize’ [-Wunused-variable] 4231 | int arraySize = impl->model->getNumGlobalParameters(); | ^~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘double rr::RoadRunner::getUnscaledSpeciesElasticity(int, int)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:4544:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 4544 | for (int i = 0; i < currentVals.size() - 1; i++) | ~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘ls::DoubleMatrix rr::RoadRunner::getScaledElasticityMatrix()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:4713:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 4713 | for (int i = 0; i < uelast.RSize(); i++) { | ~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:4714:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 4714 | for (int j = 0; j < uelast.CSize(); j++) // Columns are species | ~~^~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘ls::DoubleMatrix rr::RoadRunner::getScaledConcentrationControlCoefficientMatrix()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:4837:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 4837 | for (int i = 0; i < ucc.RSize(); i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:4838:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 4838 | for (int j = 0; j < ucc.CSize(); j++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘ls::DoubleMatrix rr::RoadRunner::getUnscaledFluxControlCoefficientMatrix()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:4861:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 4861 | for (int i = 0; i < T1.RSize(); i++) { | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘ls::DoubleMatrix rr::RoadRunner::getScaledFluxControlCoefficientMatrix()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:4892:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 4892 | for (int i = 0; i < ufcc.RSize(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:4900:39: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 4900 | for (int j = 0; j < ufcc.CSize(); j++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘std::string rr::RoadRunner::getSBML(int, int)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:4976:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 4976 | if (level > 0 && version > 0 && level != impl->document->getLevel() && version != impl->document->getVersion()) { | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:4976:88: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 4976 | if (level > 0 && version > 0 && level != impl->document->getLevel() && version != impl->document->getVersion()) { | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘SBMLDocument* rr::RoadRunner::getCurrentSBMLDocument(int, int)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:5006:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 5006 | for (int i = 0; i < array.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:5021:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 5021 | for (int i = 0; i < array.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:5036:25: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 5036 | for (int i = 0; i < array.size(); i++) { | ~~^~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:5042:30: warning: catching polymorphic type ‘class std::exception’ by value [-Wcatch-value=] 5042 | catch(std::exception e) { | ^ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:5074:45: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 5074 | if (level > 0 && version > 0 && level != doc->getLevel() && version != doc->getVersion()) { | ~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:5074:75: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 5074 | if (level > 0 && version > 0 && level != doc->getLevel() && version != doc->getVersion()) { | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘void rr::RoadRunner::updateStoichiometriesWith(SBMLDocument*, rr::ExecutableModel*, std::vector >)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:5090:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 5090 | for (int nr = 0; nr < rxnids.size(); nr++) { | ~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘std::vector rr::RoadRunner::getSelectedValues()’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:5225:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 5225 | for (int i = 0; i < impl->mSelectionList.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘void rr::RoadRunner::setSelections(const std::vector >&)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:5489:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 5489 | for (int i = 0; i < _selList.size(); ++i) { | ~~^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:5500:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 5500 | for (int i = 0; i < selstr.size(); ++i) { | ~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘void rr::RoadRunner::setSteadyStateSelections(const std::vector >&)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:5513:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 5513 | for (int i = 0; i < ss.size(); ++i) { | ~~^~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘ls::Matrix rr::RoadRunner::getFrequencyResponse(double, int, int, const std::string&, const std::string&, bool, bool)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:5577:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 5577 | for (int j = 0; j < reactionNames.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:5604:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 5604 | for (int i = 0; i < Id.RSize(); i++) { | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:5628:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 5628 | for (int j = 0; j < reactionNames.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:5643:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 5643 | for (int j = 0; j < speciesNames.size(); j++) { | ~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘void rr::RoadRunner::loadStateS(std::stringstream*)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:6306:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 6306 | for (int i = 0; i < loadOptSize; i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:6360:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 6360 | for (int i = 0; i < integratorNumParams; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:6374:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 6374 | for (int i = 0; i < solverNumParams; i++) { | ~~^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:6388:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘long unsigned int’ [-Wsign-compare] 6388 | for (int i = 0; i < sensSolverNumParams; i++) { | ~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘void rr::RoadRunner::loadSelectionVector(std::istream&, std::vector&)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:6411:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 6411 | for (int i = 0; i < vsize; i++) { | ~~^~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘ls::DoubleMatrix rr::RoadRunner::getSubStoichiometryMatrix(bool, bool, bool)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:6453:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 6453 | for (int k = 0; k < r->getNumReactants(); ++k) { | ~~^~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:6471:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 6471 | for (int k = 0; k < r->getNumProducts(); ++k) { | ~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:184:36: warning: unused variable ‘self’ [-Wunused-variable] 184 | #define get_self() RoadRunnerImpl& self = *(this->impl); | ^~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:6424:9: note: in expansion of macro ‘get_self’ 6424 | get_self(); | ^~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘void rr::RoadRunner::removeSpecies(const std::string&, bool)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:6634:28: warning: comparison of integer expressions of different signedness: ‘uint’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare] 6634 | for (uint i = 0; i < numReaction; i++) { | ~~^~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘void rr::RoadRunner::addReaction(const std::string&, std::vector >, std::vector >, const std::string&, bool)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:6894:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 6894 | for (int i = 0; i < reactants.size(); i++) { | ~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:6913:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 6913 | for (int i = 0; i < products.size(); i++) { | ~~^~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘bool rr::RoadRunner::isParameterUsed(const std::string&)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:7002:28: warning: comparison of integer expressions of different signedness: ‘uint’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare] 7002 | for (uint i = 0; i < num; i++) { | ~~^~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘void rr::RoadRunner::regenerateModel(bool, bool)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:7761:33: warning: unused variable ‘tolType’ [-Wunused-variable] 7761 | Setting::TypeId tolType = absTol.type(); | ^~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘void rr::RoadRunner::removeVariable(const std::string&)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:7837:28: warning: comparison of integer expressions of different signedness: ‘uint’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare] 7837 | for (uint i = 0; i < num; i++) { | ~~^~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:7901:28: warning: comparison of integer expressions of different signedness: ‘uint’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare] 7901 | for (uint i = 0; i < num; i++) { | ~~^~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:7914:28: warning: comparison of integer expressions of different signedness: ‘uint’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare] 7914 | for (uint i = 0; i < num; i++) { | ~~^~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:7926:28: warning: comparison of integer expressions of different signedness: ‘uint’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare] 7926 | for (uint i = 0; i < num; i++) { | ~~^~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:7946:28: warning: comparison of integer expressions of different signedness: ‘uint’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare] 7946 | for (uint i = 0; i < num; i++) { | ~~^~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:7959:28: warning: comparison of integer expressions of different signedness: ‘uint’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare] 7959 | for (uint i = 0; i < num; i++) { | ~~^~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:7994:32: warning: comparison of integer expressions of different signedness: ‘uint’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare] 7994 | for (uint j = 0; j < numAssign; j++) { | ~~^~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘bool rr::RoadRunner::hasVariable(const ASTNode*, const std::string&)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:8023:21: warning: unused variable ‘temp’ [-Wunused-variable] 8023 | const char *temp = node->getName(); | ^~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In member function ‘void rr::RoadRunner::getSpeciesIdsFromAST(const ASTNode*, std::vector >&)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:8039:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 8039 | for (int i = 0; i < sbmlSpecies->size(); i++) { | ~~^~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In function ‘void rr::writeDoubleVectorListToStream(std::ostream&, const DoubleVectorList&)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:8100:31: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 8100 | for (int i = 1; i < row.size(); i++) { | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: In function ‘void rr::writeDoubleMatrixToStream(std::ostream&, const ls::DoubleMatrix&, int)’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:8113:35: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 8113 | for (int col = 1; col < results.numCols(); col++) { | ~~~~^~~~~~~~~~~~~~~~~~~ In file included from /usr/lib64/llvm13/include/llvm/PassRegistry.h:19, from /usr/lib64/llvm13/include/llvm/PassSupport.h:29, from /usr/lib64/llvm13/include/llvm/Pass.h:338, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/LLVMIncludes.h:37, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/LLVMExecutableModel.h:25, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/ForwardSensitivitySolver.h:13: /usr/lib64/llvm13/include/llvm/ADT/DenseMap.h: In instantiation of ‘void llvm::DenseMapBase::clear() [with DerivedT = llvm::DenseMap; KeyT = llvm::Instruction*; ValueT = unsigned int; KeyInfoT = llvm::DenseMapInfo; BucketT = llvm::detail::DenseMapPair]’: /usr/lib64/llvm13/include/llvm/Transforms/InstCombine/InstCombineWorklist.h:120:22: required from here 120 | WorklistMap.clear(); | ~~~~~~~~~~~~~~~~~^~ /usr/lib64/llvm13/include/llvm/ADT/DenseMap.h:128:16: warning: variable ‘NumEntries’ set but not used [-Wunused-but-set-variable=] 128 | unsigned NumEntries = getNumEntries(); | ^~~~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrUtils.h:16, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:31: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h: In instantiation of ‘void rr::loadBinary(std::istream&, std::vector&) [with T = double; std::istream = std::basic_istream]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h:440:27: required from here 440 | loadBinary(in, vectorVal); | ~~~~~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h:334:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 334 | for (int i = 0; i < vsize; i++) { | ~~^~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h: In instantiation of ‘void rr::loadBinary(std::istream&, std::vector&) [with T = std::__cxx11::basic_string; std::istream = std::basic_istream]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:6315:23: required from here 6315 | rr::loadBinary(*in, colNames); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrStringUtils.h:334:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare] 334 | for (int i = 0; i < vsize; i++) { | ~~^~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Dictionary.h:11, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/SteadyStateSolver.h:19, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/SteadyStateSolverDecorator.h:8, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/ApproxSteadyStateDecorator.h:8, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:7: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const bool&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const bool&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const bool&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3429:83: required from here 3429 | if (Config::getValue(Config::ROADRUNNER_JACOBIAN_MODE).getAs() | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3429:83: required from here 3429 | if (Config::getValue(Config::ROADRUNNER_JACOBIAN_MODE).getAs() | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const unsigned int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const unsigned int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const unsigned int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const unsigned int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const unsigned int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3429:83: required from here 3429 | if (Config::getValue(Config::ROADRUNNER_JACOBIAN_MODE).getAs() | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const long int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const long int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const long int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const long int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const long int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3429:83: required from here 3429 | if (Config::getValue(Config::ROADRUNNER_JACOBIAN_MODE).getAs() | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const long unsigned int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const long unsigned int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const long unsigned int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const long unsigned int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const long unsigned int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3429:83: required from here 3429 | if (Config::getValue(Config::ROADRUNNER_JACOBIAN_MODE).getAs() | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const float&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const float&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const float&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const float&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const float&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3429:83: required from here 3429 | if (Config::getValue(Config::ROADRUNNER_JACOBIAN_MODE).getAs() | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const double&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const double&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const double&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const double&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const double&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3429:83: required from here 3429 | if (Config::getValue(Config::ROADRUNNER_JACOBIAN_MODE).getAs() | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const char&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const char&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const char&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const char&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const char&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3429:83: required from here 3429 | if (Config::getValue(Config::ROADRUNNER_JACOBIAN_MODE).getAs() | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const unsigned char&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const unsigned char&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const unsigned char&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const unsigned char&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const unsigned char&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3429:83: required from here 3429 | if (Config::getValue(Config::ROADRUNNER_JACOBIAN_MODE).getAs() | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const bool&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const bool&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const bool&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = long int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = long int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:8079:71: required from here 8079 | return integrator->getValue("seed").getAs(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = long int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = long int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:8079:71: required from here 8079 | return integrator->getValue("seed").getAs(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const unsigned int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const unsigned int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const unsigned int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const unsigned int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const unsigned int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = long int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = long int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:8079:71: required from here 8079 | return integrator->getValue("seed").getAs(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const long int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const long int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const long int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const long int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const long int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = long int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = long int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:8079:71: required from here 8079 | return integrator->getValue("seed").getAs(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const long unsigned int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const long unsigned int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const long unsigned int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const long unsigned int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const long unsigned int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = long int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = long int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:8079:71: required from here 8079 | return integrator->getValue("seed").getAs(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const float&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const float&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const float&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const float&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const float&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = long int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = long int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:8079:71: required from here 8079 | return integrator->getValue("seed").getAs(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const double&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const double&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const double&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const double&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const double&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = long int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = long int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:8079:71: required from here 8079 | return integrator->getValue("seed").getAs(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const char&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const char&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const char&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const char&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const char&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = long int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = long int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:8079:71: required from here 8079 | return integrator->getValue("seed").getAs(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const unsigned char&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const unsigned char&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const unsigned char&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const unsigned char&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const unsigned char&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::getAs() const::&; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = long int]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:492:30: required from ‘decltype(auto) rr::Setting::visit(Func) const [with Func = rr::Setting::getAs() const::]’ 492 | return std::visit(function, value_); | ~~~~~~~~~~^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:216:25: required from ‘As rr::Setting::getAs() const [with As = long int]’ 216 | return visit([&](auto &&val) { | ~~~~~^~~~~~~~~~~~~~~~~~ 217 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 218 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 219 | os << "Cannot retrieve setting value: you have requested the value as a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 220 | os << "\"" << typeid(As).name() << "\", but the value of the setting is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 221 | std::ostringstream oss_val; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 222 | | 223 | // if we have some form of negative signed integer | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 224 | bool isNegInt = false; | ~~~~~~~~~~~~~~~~~~~~~~ 225 | uint64_t uint64val = 0; | ~~~~~~~~~~~~~~~~~~~~~~~ 226 | int64_t int64val = 0; | ~~~~~~~~~~~~~~~~~~~~~ 227 | if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 228 | { | ~ 229 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 230 | { | ~ 231 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 232 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 233 | } | ~ 234 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 235 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 236 | } | ~ 237 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 238 | { | ~ 239 | if (*intValue < 0) | ~~~~~~~~~~~~~~~~~~ 240 | { | ~ 241 | isNegInt = true; | ~~~~~~~~~~~~~~~~ 242 | int64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~ 243 | } | ~ 244 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 245 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 246 | } | ~ 247 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 248 | { | ~ 249 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 250 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 251 | } | ~ 252 | else if (auto intValue = std::get_if(&value_)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 253 | { | ~ 254 | oss_val << "\"" << *intValue << "\", which is "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 255 | uint64val = *intValue; | ~~~~~~~~~~~~~~~~~~~~~~ 256 | } | ~ 257 | if (isNegInt) | ~~~~~~~~~~~~~ 258 | { | ~ 259 | // we cannot convert to an unsigned type | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 260 | if (typeid(As) == typeid(unsigned int) || typeid(As) == typeid(unsigned long)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 261 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 262 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 263 | os << oss_val.str() << "negative." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 265 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 266 | } | ~ 267 | } | ~ 268 | // if we have a double, with value greater than std::numeric_limits::max | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 269 | // and we try to convert to float, we have an error | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 270 | if (auto lValue = std::get_if(&value_)) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 271 | if (*lValue > ((std::numeric_limits::max)())) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 272 | os << "\"" << *lValue << "\", which is too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 273 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 274 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 275 | } | ~ 276 | } | ~ 277 | //Now check if the value is larger than the max value for the type: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 280 | (isNegInt && int64val < ((std::int64_t)(std::numeric_limits::min)()))) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 281 | { | ~ 282 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 283 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 284 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 285 | } | ~ 286 | else if (typeid(As) == typeid(unsigned int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 287 | uint64val > ((std::int64_t)(std::numeric_limits::max)())) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 288 | { | ~ 289 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 290 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 291 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 292 | } | ~ 293 | else if (typeid(As) == typeid(int64_t) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 294 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt)) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 295 | { | ~ 296 | os << oss_val.str() << "too large." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 297 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 298 | return As{}; // must be present | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 299 | } | ~ 300 | return As(val); | ~~~~~~~~~~~~~~~ 301 | } else { | ~~~~~~~~ 302 | std::ostringstream os; | ~~~~~~~~~~~~~~~~~~~~~~ 303 | os << "Setting::getAs:TypeError. You have requested the conversion " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 304 | "of a \"" << typeid(decltype(val)).name() << "\" to a "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 305 | os << "\"" << typeid(As).name() << "\" but this Setting contains "; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 306 | os << "a \"" << inf.name() << "\". Note, see Setting::toString() " | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 307 | "for string representation." << std::endl; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 308 | // would prefer to throw std::bad_variant_access, but it seems | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 309 | // it does not have the appropriate constructor (?) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | throw std::invalid_argument(os.str()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 311 | return As{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 312 | } | ~ 313 | }); | ~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:8079:71: required from here 8079 | return integrator->getValue("seed").getAs(); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs >() const:: [with auto:29 = const std::__cxx11::basic_string&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs >() const::&; _Args = {const std::__cxx11::basic_string, std::allocator >&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl >() const::&, const std::__cxx11::basic_string, std::allocator >&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result >() const::&, const std::__cxx11::basic_string, std::allocator >&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result >() const::&, const std::__cxx11::basic_string, std::allocator >&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs >() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result >() const::, const std::__cxx11::basic_string, std::allocator >&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result >() const::, const std::__cxx11::basic_string, std::allocator >&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator std::__cxx11::basic_string >() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator std::__cxx11::basic_string >() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = __cxx11::basic_string]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = std::__cxx11::basic_string]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1035:37: required from here 1035 | return impl->loadOpt.getItem("tempDir"); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const bool&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const bool&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const bool&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator bool() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator bool() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = bool]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = bool]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1640:45: required from here 1640 | if (getSteadyStateSolver()->getValue("auto_moiety_analysis")) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator bool() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator bool() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = bool]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = bool]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1640:45: required from here 1640 | if (getSteadyStateSolver()->getValue("auto_moiety_analysis")) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const unsigned int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const unsigned int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const unsigned int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const unsigned int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const unsigned int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator bool() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator bool() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = bool]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = bool]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1640:45: required from here 1640 | if (getSteadyStateSolver()->getValue("auto_moiety_analysis")) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const long int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const long int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const long int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const long int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const long int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator bool() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator bool() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = bool]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = bool]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1640:45: required from here 1640 | if (getSteadyStateSolver()->getValue("auto_moiety_analysis")) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const long unsigned int&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const long unsigned int&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const long unsigned int&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const long unsigned int&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const long unsigned int&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator bool() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator bool() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = bool]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = bool]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1640:45: required from here 1640 | if (getSteadyStateSolver()->getValue("auto_moiety_analysis")) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const float&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const float&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const float&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const float&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const float&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator bool() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator bool() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = bool]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = bool]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1640:45: required from here 1640 | if (getSteadyStateSolver()->getValue("auto_moiety_analysis")) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const double&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const double&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const double&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const double&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const double&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator bool() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator bool() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = bool]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = bool]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1640:45: required from here 1640 | if (getSteadyStateSolver()->getValue("auto_moiety_analysis")) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const char&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const char&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const char&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const char&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const char&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator bool() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator bool() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = bool]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = bool]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1640:45: required from here 1640 | if (getSteadyStateSolver()->getValue("auto_moiety_analysis")) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h: In instantiation of ‘rr::Setting::getAs() const:: [with auto:29 = const unsigned char&]’: /usr/include/c++/16/type_traits:2890:26: required by substitution of ‘template static std::__result_of_success()((declval<_Args>)()...)), std::__invoke_other> std::__result_of_other_impl::_S_test(int) [with _Fn = rr::Setting::getAs() const::&; _Args = {const unsigned char&}]’ 2890 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2901:60: required from ‘struct std::__result_of_impl() const::&, const unsigned char&>’ 2901 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::&, const unsigned char&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::&, const unsigned char&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::getAs() const::&; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:2906:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2906 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/16/type_traits:3401:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3401 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/16/variant:1145:14: required from ‘constexpr bool std::__detail::__variant::__check_visitor_results(std::index_sequence<_Idx ...>) [with _Visitor = rr::Setting::operator bool() const::; _Variant = const std::variant, std::allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, std::vector >, std::vector, std::allocator >, std::allocator, std::allocator > > > >&; long unsigned int ..._Idxs = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; std::index_sequence<_Idx ...> = std::integer_sequence]’ 1145 | return __same_types< | ^~~~~~~~~~~~~ 1146 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1147 | >; | ~ /usr/include/c++/16/variant:1972:44: required from ‘constexpr std::__detail::__variant::__visit_result_t<_Visitor, _Variants ...> std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = rr::Setting::operator bool() const::; _Variants = {const variant, allocator >, bool, int, unsigned int, long int, long unsigned int, float, double, char, unsigned char, vector >, vector<__cxx11::basic_string, allocator >, allocator<__cxx11::basic_string, allocator > > > >&}; __detail::__variant::__visit_result_t<_Visitor, _Variants ...> = bool]’ 1971 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1972 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1973 | make_index_sequence>>()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:345:30: required from ‘rr::Setting::operator T() const [with T = bool]’ 345 | return std::visit( | ~~~~~~~~~~^ 346 | [&](auto const &val) { | ~~~~~~~~~~~~~~~~~~~~~~ 347 | if constexpr (std::is_convertible_v) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 348 | // if all is good, we construct a object of type T and return it. | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 349 | return getAs(); | ~~~~~~~~~~~~~~~~~~ 350 | } else { | ~~~~~~~~ 351 | // T is not supported conversion type from typeid(value_) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 352 | throw std::bad_variant_access{}; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 353 | return T{}; // oddly enough, this *is* necessary | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 354 | } | ~ 355 | }, value_); | ~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:1640:45: required from here 1640 | if (getSteadyStateSolver()->getValue("auto_moiety_analysis")) { | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/Setting.h:278:51: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 278 | if (typeid(As) == typeid(int) && | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ 279 | (uint64val > ((std::int64_t)(std::numeric_limits::max)()) && !isNegInt) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValuesCodeGen.h:16, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/LLVMExecutableModel.h:40: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::SetGlobalParameterInitValueCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:55:18: required from here 55 | llvm::Value* SetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:93:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 93 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::SetCompartmentInitVolumeCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:55:18: required from here 55 | llvm::Value* SetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:93:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 93 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::SetBoundarySpeciesInitAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:55:18: required from here 55 | llvm::Value* SetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:93:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 93 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::SetFloatingSpeciesInitAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:55:18: required from here 55 | llvm::Value* SetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:93:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 93 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::SetBoundarySpeciesInitConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:55:18: required from here 55 | llvm::Value* SetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:93:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 93 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::SetFloatingSpeciesInitConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:55:18: required from here 55 | llvm::Value* SetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetInitialValueCodeGenBase.h:93:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 93 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValuesCodeGen.h:16, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/LLVMExecutableModel.h:39: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetValueCodeGenBase::codeGen() [with Derived = rrllvm::SetGlobalParameterCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* SetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:95:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 95 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetValueCodeGenBase::codeGen() [with Derived = rrllvm::SetCompartmentVolumeCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* SetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:95:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 95 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetValueCodeGenBase::codeGen() [with Derived = rrllvm::SetFloatingSpeciesConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* SetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:95:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 95 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetValueCodeGenBase::codeGen() [with Derived = rrllvm::SetBoundarySpeciesConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* SetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:95:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 95 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetValueCodeGenBase::codeGen() [with Derived = rrllvm::SetFloatingSpeciesAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* SetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:95:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 95 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::SetValueCodeGenBase::codeGen() [with Derived = rrllvm::SetBoundarySpeciesAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* SetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/SetValueCodeGenBase.h:95:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector, int> >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 95 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValuesCodeGen.h:16, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/LLVMExecutableModel.h:31: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::GetGlobalParameterInitValueCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* GetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::GetCompartmentInitVolumeCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* GetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::GetBoundarySpeciesInitAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* GetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::GetFloatingSpeciesInitAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* GetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::GetBoundarySpeciesInitConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* GetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetInitialValueCodeGenBase::codeGen() [with Derived = rrllvm::GetFloatingSpeciesInitConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:57:18: required from here 57 | llvm::Value* GetInitialValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetInitialValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ In file included from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValuesCodeGen.h:16, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/LLVMExecutableModel.h:30: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetValueCodeGenBase::codeGen() [with Derived = rrllvm::GetGlobalParameterCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:58:18: required from here 58 | llvm::Value* GetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetValueCodeGenBase::codeGen() [with Derived = rrllvm::GetCompartmentVolumeCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:58:18: required from here 58 | llvm::Value* GetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetValueCodeGenBase::codeGen() [with Derived = rrllvm::GetFloatingSpeciesConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:58:18: required from here 58 | llvm::Value* GetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetValueCodeGenBase::codeGen() [with Derived = rrllvm::GetBoundarySpeciesConcentrationCodeGen; bool substanceUnits = false]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:58:18: required from here 58 | llvm::Value* GetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetValueCodeGenBase::codeGen() [with Derived = rrllvm::GetFloatingSpeciesAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:58:18: required from here 58 | llvm::Value* GetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h: In instantiation of ‘llvm::Value* rrllvm::GetValueCodeGenBase::codeGen() [with Derived = rrllvm::GetBoundarySpeciesAmountCodeGen; bool substanceUnits = true]’: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:58:18: required from here 58 | llvm::Value* GetValueCodeGenBase::codeGen() | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/llvm/GetValueCodeGenBase.h:91:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘std::vector >::size_type’ {aka ‘long unsigned int’} [-Wsign-compare] 91 | for (int i = 0; i < ids.size(); ++i) | ~~^~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp: At global scope: /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:4948:24: warning: ‘std::string rr::convertSBMLVersion(const std::string&, int, int)’ defined but not used [-Wunused-function] 4948 | static std::string convertSBMLVersion(const std::string &str, int level, int version) { | ^~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/rrRoadRunner.cpp:3835:17: warning: ‘void rr::setSpeciesAmount(Model*, const std::string&, double)’ defined but not used [-Wunused-function] 3835 | static void setSpeciesAmount(::Model *model, const std::string &id, double value) { | ^~~~~~~~~~~~~~~~ ninja: build stopped: subcommand failed. RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.fEnLnG (%build) Bad exit status from /var/tmp/rpm-tmp.fEnLnG (%build) Finish: rpmbuild libroadrunner-2.11.0-1.fc44.src.rpm Finish: build phase for libroadrunner-2.11.0-1.fc44.src.rpm INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-44-aarch64-1792804412.242957/root/var/log/dnf5.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names ERROR: Exception(/var/lib/copr-rpmbuild/results/libroadrunner-2.11.0-1.fc44.src.rpm) Config(fedora-44-aarch64) 0 minutes 57 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_failure=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot ERROR: Command failed: # /usr/bin/systemd-nspawn -q -M e6baffa752a644d8a2ca01ef34abf891 -D /var/lib/mock/fedora-44-aarch64-1792804412.242957/root -a -u mockbuild --capability=cap_ipc_lock --capability=cap_ipc_lock --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/fuse --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --resolv-conf=off --resolv-conf=off --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin '--setenv=PROMPT_COMMAND=printf "\033]0;\007"' '--setenv=PS1= \s-\v\$ ' --setenv=LANG=C.UTF-8 bash --login -c '/usr/bin/rpmbuild -bb --noclean --target aarch64 --nodeps /builddir/build/originals/libroadrunner.spec' Copr build error: Build failed