Warning: Permanently added '52.91.178.254' (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-43-x86_64 --chroot fedora-43-x86_64 Version: 1.10 PID: 11818 Logging PID: 11820 Task: {'allow_user_ssh': False, 'appstream': False, 'background': False, 'build_id': 11200084, 'buildroot_pkgs': [], 'chroot': 'fedora-43-x86_64', 'enable_net': False, 'fedora_review': False, 'git_hash': '2a58858c56a20dab30b673ceb34cba3649788be5', '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-43-x86_64/', 'id': 'copr_base', 'name': 'Copr repository', 'priority': None, 'repo_gpgcheck': False}, {'baseurl': 'https://download.copr.fedorainfracloud.org/results/mhough/neurofedora/fedora-43-x86_64/', '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-43-x86_64', '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-3z4ikown/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-3z4ikown/libroadrunner', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-3z4ikown/libroadrunner'... Running: git checkout 2a58858c56a20dab30b673ceb34cba3649788be5 -- cmd: ['git', 'checkout', '2a58858c56a20dab30b673ceb34cba3649788be5', '--'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-3z4ikown/libroadrunner rc: 0 stdout: stderr: Note: switching to '2a58858c56a20dab30b673ceb34cba3649788be5'. 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 2a58858 automatic import of libroadrunner Running: dist-git-client sources cmd: ['dist-git-client', 'sources'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-3z4ikown/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 486.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-3z4ikown/libroadrunner/libroadrunner.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-3z4ikown/libroadrunner --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1792804411.653548 -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-3z4ikown/libroadrunner/libroadrunner.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-3z4ikown/libroadrunner --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1792804411.653548 -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-3z4ikown/libroadrunner/libroadrunner.spec) Config(fedora-43-x86_64) 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-43-x86_64-bootstrap-1792804411.653548/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:43 INFO: Pulling image: registry.fedoraproject.org/fedora:43 INFO: Tagging container image as mock-bootstrap-71bf5cb7-9999-4f77-8415-13705e6215fc INFO: Checking that cf0905bd11f005c3d230d7a3a4c18ba60a33671745bf37399b31b44c255f4b07 image matches host's architecture INFO: Copy content of container cf0905bd11f005c3d230d7a3a4c18ba60a33671745bf37399b31b44c255f4b07 to /var/lib/mock/fedora-43-x86_64-bootstrap-1792804411.653548/root INFO: mounting cf0905bd11f005c3d230d7a3a4c18ba60a33671745bf37399b31b44c255f4b07 with podman image mount INFO: image cf0905bd11f005c3d230d7a3a4c18ba60a33671745bf37399b31b44c255f4b07 as /var/lib/containers/storage/overlay/67e669612e3b9e2b9acb2b588d697584b5b100948bc45c51560ad9b65e2e9659/merged INFO: umounting image cf0905bd11f005c3d230d7a3a4c18ba60a33671745bf37399b31b44c255f4b07 (/var/lib/containers/storage/overlay/67e669612e3b9e2b9acb2b588d697584b5b100948bc45c51560ad9b65e2e9659/merged) with podman image umount INFO: Removing image mock-bootstrap-71bf5cb7-9999-4f77-8415-13705e6215fc 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-43-x86_64-1792804411.653548/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.fc43.x86_64 rpm-sequoia-1.10.3-1.fc43.x86_64 dnf5-5.2.18.0-5.fc43.x86_64 dnf5-plugins-5.2.18.0-5.fc43.x86_64 Start: installing minimal buildroot with dnf5 Updating and loading repositories: Copr repository 100% | 82.9 KiB/s | 50.4 KiB | 00m01s Additional repo copr_mhough_neurofedor 100% | 1.1 MiB/s | 783.2 KiB | 00m01s fedora 100% | 37.8 MiB/s | 44.9 MiB | 00m01s updates 100% | 10.1 MiB/s | 12.4 MiB | 00m01s Repositories loaded. Package Arch Version Repository Size Installing group/module packages: bash x86_64 5.3.0-2.fc43 fedora 8.4 MiB bzip2 x86_64 1.0.8-21.fc43 fedora 95.3 KiB coreutils x86_64 9.7-10.fc43 updates 5.4 MiB cpio x86_64 2.15-6.fc43 fedora 1.1 MiB diffutils x86_64 3.12-3.fc43 fedora 1.6 MiB fedora-release-common noarch 43-27 updates 20.6 KiB findutils x86_64 1:4.10.0-6.fc43 fedora 1.8 MiB gawk x86_64 5.3.2-2.fc43 fedora 1.8 MiB glibc-minimal-langpack x86_64 2.42-17.fc43 updates 0.0 B grep x86_64 3.12-2.fc43 fedora 1.0 MiB gzip x86_64 1.13-4.fc43 fedora 388.8 KiB info x86_64 7.2-7.fc43 updates 353.9 KiB patch x86_64 2.8-2.fc43 fedora 222.8 KiB redhat-rpm-config noarch 343-14.fc43 updates 182.9 KiB rpm-build x86_64 6.0.2-1.fc43 updates 286.4 KiB sed x86_64 4.9-5.fc43 fedora 857.3 KiB shadow-utils x86_64 2:4.18.0-3.fc43 fedora 3.9 MiB tar x86_64 2:1.35-6.fc43 fedora 2.9 MiB unzip x86_64 6.0-67.fc43 fedora 386.3 KiB util-linux x86_64 2.41.5-1.fc43 updates 3.5 MiB which x86_64 2.23-3.fc43 fedora 83.5 KiB xz x86_64 1:5.8.1-4.fc43 updates 1.3 MiB Installing dependencies: add-determinism x86_64 0.6.0-3.fc43 updates 2.3 MiB alternatives x86_64 1.33-3.fc43 updates 62.2 KiB ansible-srpm-macros noarch 1-18.1.fc43 fedora 35.7 KiB audit-libs x86_64 4.2.1-1.fc43 updates 382.5 KiB binutils x86_64 2.45.1-5.fc43 updates 27.3 MiB build-reproducibility-srpm-macros noarch 0.6.0-3.fc43 updates 735.0 B bzip2-libs x86_64 1.0.8-21.fc43 fedora 80.6 KiB ca-certificates noarch 2026.2.92_v9.0.319-2.fc43 updates 2.7 MiB cmake-srpm-macros noarch 3.31.11-1.fc43 updates 524.0 B coreutils-common x86_64 9.7-10.fc43 updates 11.3 MiB crypto-policies noarch 20251125-1.git63291f8.fc43 updates 147.1 KiB curl x86_64 8.15.0-12.fc43 updates 461.4 KiB cyrus-sasl-lib x86_64 2.1.28-33.fc43 fedora 2.3 MiB debugedit x86_64 5.2-3.fc43 fedora 214.0 KiB dwz x86_64 0.16-2.fc43 fedora 287.1 KiB ed x86_64 1.22.2-1.fc43 fedora 148.1 KiB efi-srpm-macros noarch 6-4.fc43 fedora 40.1 KiB elfutils x86_64 0.196-1.fc43 updates 3.1 MiB elfutils-debuginfod-client x86_64 0.196-1.fc43 updates 83.9 KiB elfutils-default-yama-scope noarch 0.196-1.fc43 updates 1.8 KiB elfutils-libelf x86_64 0.196-1.fc43 updates 1.4 MiB elfutils-libs x86_64 0.196-1.fc43 updates 695.4 KiB fedora-gpg-keys noarch 43-2 updates 259.0 KiB fedora-release noarch 43-27 updates 0.0 B fedora-release-identity-basic noarch 43-27 updates 631.0 B fedora-repos noarch 43-2 updates 4.9 KiB file x86_64 5.46-9.fc43 updates 100.2 KiB file-libs x86_64 5.46-9.fc43 updates 11.9 MiB filesystem x86_64 3.18-50.fc43 fedora 112.0 B filesystem-srpm-macros noarch 3.18-50.fc43 fedora 38.2 KiB fonts-srpm-macros noarch 1:2.0.5-23.fc43 fedora 55.8 KiB forge-srpm-macros noarch 0.4.0-3.fc43 fedora 38.9 KiB fpc-srpm-macros noarch 1.3-15.fc43 fedora 144.0 B gap-srpm-macros noarch 2-1.fc43 fedora 2.1 KiB gdb-minimal x86_64 17.2-2.fc43 updates 13.6 MiB gdbm-libs x86_64 1:1.23-10.fc43 fedora 129.9 KiB ghc-srpm-macros noarch 1.9.2-3.fc43 fedora 779.0 B glibc x86_64 2.42-17.fc43 updates 6.7 MiB glibc-common x86_64 2.42-17.fc43 updates 1.0 MiB glibc-gconv-extra x86_64 2.42-17.fc43 updates 7.2 MiB gmp x86_64 1:6.3.0-4.fc43 fedora 811.2 KiB gnat-srpm-macros noarch 7-1.fc43 updates 1.0 KiB gnome-srpm-macros noarch 1.0-1.fc43 updates 3.5 KiB gnulib-l10n noarch 20241231-1.fc43 fedora 655.0 KiB gnupg2 x86_64 2.4.9-5.fc43 updates 6.6 MiB gnupg2-dirmngr x86_64 2.4.9-5.fc43 updates 618.4 KiB gnupg2-gpg-agent x86_64 2.4.9-5.fc43 updates 671.4 KiB gnupg2-gpgconf x86_64 2.4.9-5.fc43 updates 250.0 KiB gnupg2-keyboxd x86_64 2.4.9-5.fc43 updates 201.4 KiB gnupg2-verify x86_64 2.4.9-5.fc43 updates 348.5 KiB gnutls x86_64 3.8.13-1.fc43 updates 3.8 MiB go-srpm-macros noarch 3.8.0-1.fc43 fedora 61.9 KiB gpgverify noarch 2.2-3.fc43 fedora 8.7 KiB ima-evm-utils-libs x86_64 1.6.2-6.fc43 fedora 60.7 KiB jansson x86_64 2.14-3.fc43 fedora 89.1 KiB java-srpm-macros noarch 1-7.fc43 fedora 870.0 B json-c x86_64 0.18-7.fc43 fedora 82.7 KiB kernel-srpm-macros noarch 1.0-27.fc43 fedora 1.9 KiB keyutils-libs x86_64 1.6.3-6.fc43 fedora 54.3 KiB krb5-libs x86_64 1.22.2-4.fc43 updates 2.3 MiB libacl x86_64 2.4.0-1.fc43 updates 39.9 KiB libarchive x86_64 3.8.4-1.fc43 updates 955.3 KiB libassuan x86_64 2.5.7-4.fc43 fedora 163.8 KiB libattr x86_64 2.6.0-1.fc43 updates 24.3 KiB libblkid x86_64 2.41.5-1.fc43 updates 262.3 KiB libbrotli x86_64 1.2.0-1.fc43 updates 865.4 KiB libcap x86_64 2.76-4.fc43 updates 209.1 KiB libcap-ng x86_64 0.9.6-1.fc43 updates 68.8 KiB libcom_err x86_64 1.47.3-2.fc43 fedora 63.1 KiB libcurl x86_64 8.15.0-12.fc43 updates 907.0 KiB libeconf x86_64 0.7.9-2.fc43 fedora 64.9 KiB libevent x86_64 2.1.13-1.fc43 updates 884.4 KiB libfdisk x86_64 2.41.5-1.fc43 updates 380.3 KiB libffi x86_64 3.5.2-1.fc43 updates 83.8 KiB libfsverity x86_64 1.6-3.fc43 fedora 28.5 KiB libgcc x86_64 15.3.1-1.fc43 updates 266.6 KiB libgcrypt x86_64 1.11.1-4.fc43 updates 1.6 MiB libgomp x86_64 15.3.1-1.fc43 updates 541.8 KiB libgpg-error x86_64 1.55-2.fc43 fedora 915.3 KiB libidn2 x86_64 2.3.8-2.fc43 fedora 552.5 KiB libksba x86_64 1.6.7-4.fc43 fedora 398.5 KiB liblastlog2 x86_64 2.41.5-1.fc43 updates 37.6 KiB libmount x86_64 2.41.5-1.fc43 updates 376.6 KiB libnghttp2 x86_64 1.66.0-3.fc43 updates 162.1 KiB libpfm x86_64 4.13.0-20.fc43 updates 1.7 MiB libpkgconf x86_64 2.3.0-3.fc43 fedora 78.1 KiB libpsl x86_64 0.21.5-6.fc43 fedora 76.4 KiB libselinux x86_64 3.9-5.fc43 fedora 193.1 KiB libsemanage x86_64 3.9-4.fc43 fedora 308.5 KiB libsepol x86_64 3.9-2.fc43 fedora 822.0 KiB libsmartcols x86_64 2.41.5-1.fc43 updates 180.3 KiB libssh x86_64 0.11.5-1.fc43 updates 573.1 KiB libssh-config noarch 0.11.5-1.fc43 updates 277.0 B libstdc++ x86_64 15.3.1-1.fc43 updates 2.8 MiB libtasn1 x86_64 4.21.0-1.fc43 updates 176.7 KiB libtool-ltdl x86_64 2.5.4-8.fc43 updates 70.1 KiB libunistring x86_64 1.1-10.fc43 fedora 1.7 MiB libusb1 x86_64 1.0.30-1.fc43 updates 176.0 KiB libuuid x86_64 2.41.5-1.fc43 updates 37.2 KiB libverto x86_64 0.3.2-11.fc43 fedora 25.4 KiB libxcrypt x86_64 4.5.2-1.fc43 updates 285.3 KiB libxml2 x86_64 2.12.10-5.fc43 fedora 1.7 MiB libzstd x86_64 1.5.7-2.fc43 fedora 799.9 KiB lua-libs x86_64 5.4.8-4.fc43 updates 281.9 KiB lua-srpm-macros noarch 1-16.fc43 fedora 1.3 KiB lz4-libs x86_64 1.10.0-3.fc43 fedora 161.4 KiB mpfr x86_64 4.2.2-2.fc43 fedora 832.8 KiB ncurses-base noarch 6.5-7.20250614.fc43 fedora 328.1 KiB ncurses-libs x86_64 6.5-7.20250614.fc43 fedora 946.3 KiB nettle x86_64 3.10.1-2.fc43 fedora 790.6 KiB npth x86_64 1.8-3.fc43 fedora 49.6 KiB ocaml-srpm-macros noarch 11-2.fc43 fedora 1.9 KiB openblas-srpm-macros noarch 2-20.fc43 fedora 112.0 B openldap x86_64 2.6.15-1.fc43 updates 659.2 KiB openssl-libs x86_64 1:3.5.9-1.fc43 updates 8.9 MiB p11-kit x86_64 0.26.5-1.fc43 updates 2.5 MiB p11-kit-trust x86_64 0.26.5-1.fc43 updates 466.3 KiB package-notes-srpm-macros noarch 0.20-1.fc43 updates 1.6 KiB pam-libs x86_64 1.7.1-5.fc43 updates 126.5 KiB pcre2 x86_64 10.47-1.fc43 updates 702.6 KiB pcre2-syntax noarch 10.47-1.fc43 updates 281.9 KiB perl-srpm-macros noarch 1-60.fc43 fedora 861.0 B pkgconf x86_64 2.3.0-3.fc43 fedora 88.5 KiB pkgconf-m4 noarch 2.3.0-3.fc43 fedora 14.4 KiB pkgconf-pkg-config x86_64 2.3.0-3.fc43 fedora 989.0 B popt x86_64 1.19-9.fc43 fedora 132.8 KiB publicsuffix-list-dafsa noarch 20260116-1.fc43 updates 70.4 KiB pyproject-srpm-macros noarch 1.23.2-1.fc43 updates 3.4 KiB python-srpm-macros noarch 3.14-5.fc43 fedora 51.5 KiB qt5-srpm-macros noarch 5.15.18-1.fc43 updates 500.0 B qt6-srpm-macros noarch 6.10.3-1.fc43 updates 472.0 B readline x86_64 8.3-2.fc43 fedora 511.7 KiB rpm x86_64 6.0.2-1.fc43 updates 3.1 MiB rpm-build-libs x86_64 6.0.2-1.fc43 updates 264.3 KiB rpm-libs x86_64 6.0.2-1.fc43 updates 933.5 KiB rpm-sequoia x86_64 1.10.3-1.fc43 updates 2.4 MiB rpm-sign-libs x86_64 6.0.2-1.fc43 updates 39.6 KiB rust-srpm-macros noarch 28.5-1.fc43 updates 5.5 KiB setup noarch 2.15.0-26.fc43 fedora 725.0 KiB sqlite-libs x86_64 3.50.2-3.fc43 updates 1.5 MiB systemd-libs x86_64 258.11-1.fc43 updates 2.3 MiB systemd-standalone-sysusers x86_64 258.11-1.fc43 updates 297.4 KiB tpm2-tss x86_64 4.1.3-8.fc43 fedora 1.6 MiB tree-sitter-srpm-macros noarch 0.4.2-1.fc43 fedora 8.3 KiB util-linux-core x86_64 2.41.5-1.fc43 updates 1.5 MiB xxhash-libs x86_64 0.8.4-1.fc43 updates 90.0 KiB xz-libs x86_64 1:5.8.1-4.fc43 updates 217.8 KiB zig-srpm-macros noarch 1-5.fc43 fedora 1.1 KiB zip x86_64 3.0-44.fc43 fedora 694.5 KiB zlib-ng-compat x86_64 2.3.3-2.fc43 updates 161.7 KiB zstd x86_64 1.5.7-2.fc43 fedora 1.7 MiB Installing groups: Buildsystem building group Transaction Summary: Installing: 173 packages Total size of inbound packages is 60 MiB. Need to download 60 MiB. After this operation, 203 MiB extra will be used (install 203 MiB, remove 0 B). [ 1/173] bash-0:5.3.0-2.fc43.x86_64 100% | 103.9 MiB/s | 1.9 MiB | 00m00s [ 2/173] bzip2-0:1.0.8-21.fc43.x86_64 100% | 2.8 MiB/s | 51.6 KiB | 00m00s [ 3/173] cpio-0:2.15-6.fc43.x86_64 100% | 15.1 MiB/s | 293.1 KiB | 00m00s [ 4/173] findutils-1:4.10.0-6.fc43.x86 100% | 107.4 MiB/s | 550.0 KiB | 00m00s [ 5/173] diffutils-0:3.12-3.fc43.x86_6 100% | 54.7 MiB/s | 392.3 KiB | 00m00s [ 6/173] grep-0:3.12-2.fc43.x86_64 100% | 41.7 MiB/s | 299.1 KiB | 00m00s [ 7/173] gzip-0:1.13-4.fc43.x86_64 100% | 27.7 MiB/s | 170.1 KiB | 00m00s [ 8/173] patch-0:2.8-2.fc43.x86_64 100% | 13.9 MiB/s | 113.8 KiB | 00m00s [ 9/173] sed-0:4.9-5.fc43.x86_64 100% | 38.7 MiB/s | 317.1 KiB | 00m00s [ 10/173] tar-2:1.35-6.fc43.x86_64 100% | 119.5 MiB/s | 856.4 KiB | 00m00s [ 11/173] unzip-0:6.0-67.fc43.x86_64 100% | 25.6 MiB/s | 183.7 KiB | 00m00s [ 12/173] shadow-utils-2:4.18.0-3.fc43. 100% | 91.6 MiB/s | 1.3 MiB | 00m00s [ 13/173] which-0:2.23-3.fc43.x86_64 100% | 10.2 MiB/s | 41.7 KiB | 00m00s [ 14/173] fedora-release-common-0:43-27 100% | 5.5 MiB/s | 22.6 KiB | 00m00s [ 15/173] coreutils-0:9.7-10.fc43.x86_6 100% | 113.8 MiB/s | 1.1 MiB | 00m00s [ 16/173] gawk-0:5.3.2-2.fc43.x86_64 100% | 112.5 MiB/s | 1.1 MiB | 00m00s [ 17/173] glibc-minimal-langpack-0:2.42 100% | 6.6 MiB/s | 47.1 KiB | 00m00s [ 18/173] info-0:7.2-7.fc43.x86_64 100% | 22.3 MiB/s | 182.7 KiB | 00m00s [ 19/173] redhat-rpm-config-0:343-14.fc 100% | 6.2 MiB/s | 76.1 KiB | 00m00s [ 20/173] rpm-build-0:6.0.2-1.fc43.x86_ 100% | 8.3 MiB/s | 135.3 KiB | 00m00s [ 21/173] xz-1:5.8.1-4.fc43.x86_64 100% | 69.9 MiB/s | 572.7 KiB | 00m00s [ 22/173] util-linux-0:2.41.5-1.fc43.x8 100% | 66.3 MiB/s | 1.2 MiB | 00m00s [ 23/173] ncurses-libs-0:6.5-7.20250614 100% | 40.6 MiB/s | 332.7 KiB | 00m00s [ 24/173] filesystem-0:3.18-50.fc43.x86 100% | 88.9 MiB/s | 1.3 MiB | 00m00s [ 25/173] bzip2-libs-0:1.0.8-21.fc43.x8 100% | 4.2 MiB/s | 43.1 KiB | 00m00s [ 26/173] libselinux-0:3.9-5.fc43.x86_6 100% | 10.6 MiB/s | 97.7 KiB | 00m00s [ 27/173] ed-0:1.22.2-1.fc43.x86_64 100% | 13.6 MiB/s | 83.7 KiB | 00m00s [ 28/173] libeconf-0:0.7.9-2.fc43.x86_6 100% | 5.7 MiB/s | 35.2 KiB | 00m00s [ 29/173] setup-0:2.15.0-26.fc43.noarch 100% | 76.8 MiB/s | 157.3 KiB | 00m00s [ 30/173] gmp-1:6.3.0-4.fc43.x86_64 100% | 103.9 MiB/s | 319.3 KiB | 00m00s [ 31/173] libsemanage-0:3.9-4.fc43.x86_ 100% | 24.1 MiB/s | 123.5 KiB | 00m00s [ 32/173] mpfr-0:4.2.2-2.fc43.x86_64 100% | 67.8 MiB/s | 347.0 KiB | 00m00s [ 33/173] readline-0:8.3-2.fc43.x86_64 100% | 31.3 MiB/s | 224.6 KiB | 00m00s [ 34/173] glibc-common-0:2.42-17.fc43.x 100% | 40.8 MiB/s | 333.9 KiB | 00m00s [ 35/173] ansible-srpm-macros-0:1-18.1. 100% | 3.2 MiB/s | 19.9 KiB | 00m00s [ 36/173] coreutils-common-0:9.7-10.fc4 100% | 116.6 MiB/s | 2.1 MiB | 00m00s [ 37/173] efi-srpm-macros-0:6-4.fc43.no 100% | 10.9 MiB/s | 22.4 KiB | 00m00s [ 38/173] dwz-0:0.16-2.fc43.x86_64 100% | 33.1 MiB/s | 135.5 KiB | 00m00s [ 39/173] filesystem-srpm-macros-0:3.18 100% | 8.6 MiB/s | 26.4 KiB | 00m00s [ 40/173] fonts-srpm-macros-1:2.0.5-23. 100% | 13.3 MiB/s | 27.2 KiB | 00m00s [ 41/173] forge-srpm-macros-0:0.4.0-3.f 100% | 6.5 MiB/s | 20.1 KiB | 00m00s [ 42/173] fpc-srpm-macros-0:1.3-15.fc43 100% | 2.6 MiB/s | 7.9 KiB | 00m00s [ 43/173] gap-srpm-macros-0:2-1.fc43.no 100% | 2.9 MiB/s | 9.0 KiB | 00m00s [ 44/173] ghc-srpm-macros-0:1.9.2-3.fc4 100% | 4.3 MiB/s | 8.7 KiB | 00m00s [ 45/173] java-srpm-macros-0:1-7.fc43.n 100% | 1.9 MiB/s | 7.9 KiB | 00m00s [ 46/173] go-srpm-macros-0:3.8.0-1.fc43 100% | 5.5 MiB/s | 28.3 KiB | 00m00s [ 47/173] kernel-srpm-macros-0:1.0-27.f 100% | 1.7 MiB/s | 8.9 KiB | 00m00s [ 48/173] lua-srpm-macros-0:1-16.fc43.n 100% | 2.9 MiB/s | 8.8 KiB | 00m00s [ 49/173] ocaml-srpm-macros-0:11-2.fc43 100% | 3.0 MiB/s | 9.3 KiB | 00m00s [ 50/173] openblas-srpm-macros-0:2-20.f 100% | 1.5 MiB/s | 7.6 KiB | 00m00s [ 51/173] perl-srpm-macros-0:1-60.fc43. 100% | 1.6 MiB/s | 8.3 KiB | 00m00s [ 52/173] python-srpm-macros-0:3.14-5.f 100% | 5.7 MiB/s | 23.4 KiB | 00m00s [ 53/173] zig-srpm-macros-0:1-5.fc43.no 100% | 4.1 MiB/s | 8.4 KiB | 00m00s [ 54/173] tree-sitter-srpm-macros-0:0.4 100% | 4.3 MiB/s | 13.4 KiB | 00m00s [ 55/173] cmake-srpm-macros-0:3.31.11-1 100% | 9.6 MiB/s | 9.9 KiB | 00m00s [ 56/173] gnome-srpm-macros-0:1.0-1.fc4 100% | 8.4 MiB/s | 8.6 KiB | 00m00s [ 57/173] zip-0:3.0-44.fc43.x86_64 100% | 63.9 MiB/s | 261.6 KiB | 00m00s [ 58/173] debugedit-0:5.2-3.fc43.x86_64 100% | 20.9 MiB/s | 85.6 KiB | 00m00s [ 59/173] popt-0:1.19-9.fc43.x86_64 100% | 16.0 MiB/s | 65.7 KiB | 00m00s [ 60/173] zstd-0:1.5.7-2.fc43.x86_64 100% | 94.9 MiB/s | 485.9 KiB | 00m00s [ 61/173] rpm-0:6.0.2-1.fc43.x86_64 100% | 112.1 MiB/s | 574.0 KiB | 00m00s [ 62/173] util-linux-core-0:2.41.5-1.fc 100% | 89.8 MiB/s | 551.6 KiB | 00m00s [ 63/173] xz-libs-1:5.8.1-4.fc43.x86_64 100% | 18.4 MiB/s | 112.8 KiB | 00m00s [ 64/173] ncurses-base-0:6.5-7.20250614 100% | 28.7 MiB/s | 88.2 KiB | 00m00s [ 65/173] libsepol-0:3.9-2.fc43.x86_64 100% | 112.4 MiB/s | 345.4 KiB | 00m00s [ 66/173] lz4-libs-0:1.10.0-3.fc43.x86_ 100% | 25.4 MiB/s | 78.0 KiB | 00m00s [ 67/173] gnulib-l10n-0:20241231-1.fc43 100% | 29.3 MiB/s | 150.2 KiB | 00m00s [ 68/173] rpm-libs-0:6.0.2-1.fc43.x86_6 100% | 55.6 MiB/s | 398.4 KiB | 00m00s [ 69/173] glibc-0:2.42-17.fc43.x86_64 100% | 157.8 MiB/s | 2.2 MiB | 00m00s [ 70/173] glibc-gconv-extra-0:2.42-17.f 100% | 93.5 MiB/s | 1.6 MiB | 00m00s [ 71/173] libzstd-0:1.5.7-2.fc43.x86_64 100% | 30.7 MiB/s | 314.6 KiB | 00m00s [ 72/173] rpm-build-libs-0:6.0.2-1.fc43 100% | 17.3 MiB/s | 124.1 KiB | 00m00s [ 73/173] rpm-sign-libs-0:6.0.2-1.fc43. 100% | 12.4 MiB/s | 25.5 KiB | 00m00s [ 74/173] ima-evm-utils-libs-0:1.6.2-6. 100% | 7.2 MiB/s | 29.3 KiB | 00m00s [ 75/173] libfsverity-0:1.6-3.fc43.x86_ 100% | 6.1 MiB/s | 18.6 KiB | 00m00s [ 76/173] json-c-0:0.18-7.fc43.x86_64 100% | 14.6 MiB/s | 45.0 KiB | 00m00s [ 77/173] tpm2-tss-0:4.1.3-8.fc43.x86_6 100% | 52.0 MiB/s | 425.9 KiB | 00m00s [ 78/173] libblkid-0:2.41.5-1.fc43.x86_ 100% | 20.2 MiB/s | 123.9 KiB | 00m00s [ 79/173] libuuid-0:2.41.5-1.fc43.x86_6 100% | 3.7 MiB/s | 26.7 KiB | 00m00s [ 80/173] libmount-0:2.41.5-1.fc43.x86_ 100% | 22.9 MiB/s | 163.8 KiB | 00m00s [ 81/173] libgcc-0:15.3.1-1.fc43.x86_64 100% | 19.9 MiB/s | 142.9 KiB | 00m00s [ 82/173] libsmartcols-0:2.41.5-1.fc43. 100% | 20.6 MiB/s | 84.4 KiB | 00m00s [ 83/173] libxcrypt-0:4.5.2-1.fc43.x86_ 100% | 62.5 MiB/s | 128.1 KiB | 00m00s [ 84/173] systemd-libs-0:258.11-1.fc43. 100% | 162.5 MiB/s | 832.0 KiB | 00m00s [ 85/173] audit-libs-0:4.2.1-1.fc43.x86 100% | 34.1 MiB/s | 139.6 KiB | 00m00s [ 86/173] libcap-ng-0:0.9.6-1.fc43.x86_ 100% | 6.7 MiB/s | 34.3 KiB | 00m00s [ 87/173] liblastlog2-0:2.41.5-1.fc43.x 100% | 5.8 MiB/s | 23.8 KiB | 00m00s [ 88/173] libfdisk-0:2.41.5-1.fc43.x86_ 100% | 26.4 MiB/s | 162.3 KiB | 00m00s [ 89/173] pam-libs-0:1.7.1-5.fc43.x86_6 100% | 11.0 MiB/s | 56.4 KiB | 00m00s [ 90/173] zlib-ng-compat-0:2.3.3-2.fc43 100% | 21.7 MiB/s | 88.7 KiB | 00m00s [ 91/173] libcap-0:2.76-4.fc43.x86_64 100% | 28.0 MiB/s | 86.1 KiB | 00m00s [ 92/173] gpgverify-0:2.2-3.fc43.noarch 100% | 2.7 MiB/s | 11.1 KiB | 00m00s [ 93/173] libassuan-0:2.5.7-4.fc43.x86_ 100% | 13.2 MiB/s | 67.4 KiB | 00m00s [ 94/173] gnupg2-0:2.4.9-5.fc43.x86_64 100% | 116.9 MiB/s | 1.6 MiB | 00m00s [ 95/173] libgpg-error-0:1.55-2.fc43.x8 100% | 26.5 MiB/s | 244.3 KiB | 00m00s [ 96/173] npth-0:1.8-3.fc43.x86_64 100% | 3.1 MiB/s | 25.7 KiB | 00m00s [ 97/173] gnupg2-dirmngr-0:2.4.9-5.fc43 100% | 67.1 MiB/s | 275.0 KiB | 00m00s [ 98/173] gnupg2-gpg-agent-0:2.4.9-5.fc 100% | 89.0 MiB/s | 273.4 KiB | 00m00s [ 99/173] gnupg2-gpgconf-0:2.4.9-5.fc43 100% | 28.2 MiB/s | 115.3 KiB | 00m00s [100/173] gnupg2-keyboxd-0:2.4.9-5.fc43 100% | 30.8 MiB/s | 94.7 KiB | 00m00s [101/173] gnupg2-verify-0:2.4.9-5.fc43. 100% | 55.8 MiB/s | 171.6 KiB | 00m00s [102/173] libacl-0:2.4.0-1.fc43.x86_64 100% | 25.5 MiB/s | 26.1 KiB | 00m00s [103/173] libksba-0:1.6.7-4.fc43.x86_64 100% | 39.2 MiB/s | 160.4 KiB | 00m00s [104/173] libstdc++-0:15.3.1-1.fc43.x86 100% | 151.5 MiB/s | 931.1 KiB | 00m00s [105/173] lua-libs-0:5.4.8-4.fc43.x86_6 100% | 26.0 MiB/s | 133.1 KiB | 00m00s [106/173] rpm-sequoia-0:1.10.3-1.fc43.x 100% | 102.1 MiB/s | 940.6 KiB | 00m00s [107/173] sqlite-libs-0:3.50.2-3.fc43.x 100% | 92.6 MiB/s | 758.9 KiB | 00m00s [108/173] elfutils-libelf-0:0.196-1.fc4 100% | 20.9 MiB/s | 235.6 KiB | 00m00s [109/173] elfutils-libs-0:0.196-1.fc43. 100% | 33.3 MiB/s | 272.8 KiB | 00m00s [110/173] elfutils-0:0.196-1.fc43.x86_6 100% | 70.8 MiB/s | 652.7 KiB | 00m00s [111/173] elfutils-debuginfod-client-0: 100% | 7.5 MiB/s | 46.2 KiB | 00m00s [112/173] file-0:5.46-9.fc43.x86_64 100% | 11.8 MiB/s | 48.5 KiB | 00m00s [113/173] file-libs-0:5.46-9.fc43.x86_6 100% | 103.7 MiB/s | 849.9 KiB | 00m00s [114/173] libgomp-0:15.3.1-1.fc43.x86_6 100% | 62.4 MiB/s | 383.6 KiB | 00m00s [115/173] jansson-0:2.14-3.fc43.x86_64 100% | 5.5 MiB/s | 45.3 KiB | 00m00s [116/173] libarchive-0:3.8.4-1.fc43.x86 100% | 37.5 MiB/s | 422.6 KiB | 00m00s [117/173] libxml2-0:2.12.10-5.fc43.x86_ 100% | 52.0 MiB/s | 692.7 KiB | 00m00s [118/173] pkgconf-pkg-config-0:2.3.0-3. 100% | 1.3 MiB/s | 9.6 KiB | 00m00s [119/173] pkgconf-0:2.3.0-3.fc43.x86_64 100% | 14.5 MiB/s | 44.6 KiB | 00m00s [120/173] pkgconf-m4-0:2.3.0-3.fc43.noa 100% | 4.5 MiB/s | 13.9 KiB | 00m00s [121/173] libpkgconf-0:2.3.0-3.fc43.x86 100% | 6.2 MiB/s | 37.9 KiB | 00m00s [122/173] curl-0:8.15.0-12.fc43.x86_64 100% | 31.6 MiB/s | 226.8 KiB | 00m00s [123/173] build-reproducibility-srpm-ma 100% | 1.9 MiB/s | 11.9 KiB | 00m00s [124/173] binutils-0:2.45.1-5.fc43.x86_ 100% | 126.3 MiB/s | 5.9 MiB | 00m00s [125/173] add-determinism-0:0.6.0-3.fc4 100% | 67.1 MiB/s | 893.7 KiB | 00m00s [126/173] gnat-srpm-macros-0:7-1.fc43.n 100% | 961.8 KiB/s | 8.7 KiB | 00m00s [127/173] qt5-srpm-macros-0:5.15.18-1.f 100% | 4.2 MiB/s | 8.6 KiB | 00m00s [128/173] pyproject-srpm-macros-0:1.23. 100% | 7.6 MiB/s | 15.5 KiB | 00m00s [129/173] package-notes-srpm-macros-0:0 100% | 2.4 MiB/s | 9.9 KiB | 00m00s [130/173] qt6-srpm-macros-0:6.10.3-1.fc 100% | 8.9 MiB/s | 9.1 KiB | 00m00s [131/173] rust-srpm-macros-0:28.5-1.fc4 100% | 10.9 MiB/s | 11.2 KiB | 00m00s [132/173] libgcrypt-0:1.11.1-4.fc43.x86 100% | 116.4 MiB/s | 596.0 KiB | 00m00s [133/173] gnutls-0:3.8.13-1.fc43.x86_64 100% | 126.2 MiB/s | 1.4 MiB | 00m00s [134/173] libidn2-0:2.3.8-2.fc43.x86_64 100% | 24.4 MiB/s | 174.9 KiB | 00m00s [135/173] openssl-libs-1:3.5.9-1.fc43.x 100% | 154.7 MiB/s | 2.6 MiB | 00m00s [136/173] libunistring-0:1.1-10.fc43.x8 100% | 75.7 MiB/s | 542.9 KiB | 00m00s [137/173] nettle-0:3.10.1-2.fc43.x86_64 100% | 46.0 MiB/s | 424.2 KiB | 00m00s [138/173] gdbm-libs-1:1.23-10.fc43.x86_ 100% | 27.7 MiB/s | 56.8 KiB | 00m00s [139/173] openldap-0:2.6.15-1.fc43.x86_ 100% | 25.4 MiB/s | 259.7 KiB | 00m00s [140/173] cyrus-sasl-lib-0:2.1.28-33.fc 100% | 85.5 MiB/s | 787.9 KiB | 00m00s [141/173] fedora-repos-0:43-2.noarch 100% | 1.7 MiB/s | 8.9 KiB | 00m00s [142/173] elfutils-default-yama-scope-0 100% | 3.7 MiB/s | 11.3 KiB | 00m00s [143/173] fedora-gpg-keys-0:43-2.noarch 100% | 30.0 MiB/s | 184.2 KiB | 00m00s [144/173] libattr-0:2.6.0-1.fc43.x86_64 100% | 8.7 MiB/s | 17.9 KiB | 00m00s [145/173] libpfm-0:4.13.0-20.fc43.x86_6 100% | 44.0 MiB/s | 225.4 KiB | 00m00s [146/173] alternatives-0:1.33-3.fc43.x8 100% | 19.8 MiB/s | 40.6 KiB | 00m00s [147/173] libusb1-0:1.0.30-1.fc43.x86_6 100% | 26.2 MiB/s | 80.5 KiB | 00m00s [148/173] pcre2-0:10.47-1.fc43.x86_64 100% | 65.2 MiB/s | 267.2 KiB | 00m00s [149/173] pcre2-syntax-0:10.47-1.fc43.n 100% | 40.2 MiB/s | 164.7 KiB | 00m00s [150/173] crypto-policies-0:20251125-1. 100% | 19.1 MiB/s | 97.8 KiB | 00m00s [151/173] libevent-0:2.1.13-1.fc43.x86_ 100% | 50.7 MiB/s | 259.5 KiB | 00m00s [152/173] ca-certificates-0:2026.2.92_v 100% | 119.7 MiB/s | 980.2 KiB | 00m00s [153/173] libtool-ltdl-0:2.5.4-8.fc43.x 100% | 7.1 MiB/s | 36.2 KiB | 00m00s [154/173] libtasn1-0:4.21.0-1.fc43.x86_ 100% | 12.1 MiB/s | 74.5 KiB | 00m00s [155/173] p11-kit-0:0.26.5-1.fc43.x86_6 100% | 75.7 MiB/s | 542.8 KiB | 00m00s [156/173] p11-kit-trust-0:0.26.5-1.fc43 100% | 22.9 MiB/s | 140.6 KiB | 00m00s [157/173] libffi-0:3.5.2-1.fc43.x86_64 100% | 10.0 MiB/s | 41.1 KiB | 00m00s [158/173] systemd-standalone-sysusers-0 100% | 48.6 MiB/s | 149.4 KiB | 00m00s [159/173] xxhash-libs-0:0.8.4-1.fc43.x8 100% | 18.8 MiB/s | 38.6 KiB | 00m00s [160/173] fedora-release-0:43-27.noarch 100% | 2.8 MiB/s | 11.5 KiB | 00m00s [161/173] fedora-release-identity-basic 100% | 2.0 MiB/s | 12.3 KiB | 00m00s [162/173] libcurl-0:8.15.0-12.fc43.x86_ 100% | 65.7 MiB/s | 403.9 KiB | 00m00s [163/173] libpsl-0:0.21.5-6.fc43.x86_64 100% | 7.9 MiB/s | 65.0 KiB | 00m00s [164/173] libssh-0:0.11.5-1.fc43.x86_64 100% | 32.7 MiB/s | 234.6 KiB | 00m00s [165/173] libssh-config-0:0.11.5-1.fc43 100% | 2.9 MiB/s | 8.9 KiB | 00m00s [166/173] gdb-minimal-0:17.2-2.fc43.x86 100% | 165.7 MiB/s | 4.5 MiB | 00m00s [167/173] publicsuffix-list-dafsa-0:202 100% | 8.4 MiB/s | 60.3 KiB | 00m00s [168/173] krb5-libs-0:1.22.2-4.fc43.x86 100% | 83.6 MiB/s | 770.4 KiB | 00m00s [169/173] keyutils-libs-0:1.6.3-6.fc43. 100% | 7.7 MiB/s | 31.4 KiB | 00m00s [170/173] libcom_err-0:1.47.3-2.fc43.x8 100% | 6.5 MiB/s | 26.8 KiB | 00m00s [171/173] libverto-0:0.3.2-11.fc43.x86_ 100% | 10.1 MiB/s | 20.7 KiB | 00m00s [172/173] libbrotli-0:1.2.0-1.fc43.x86_ 100% | 85.3 MiB/s | 349.3 KiB | 00m00s [173/173] libnghttp2-0:1.66.0-3.fc43.x8 100% | 23.1 MiB/s | 71.0 KiB | 00m00s -------------------------------------------------------------------------------- [173/173] Total 100% | 143.6 MiB/s | 59.7 MiB | 00m00s Running transaction Importing OpenPGP key 0x31645531: UserID : "Fedora (43) " Fingerprint: C6E7F081CF80E13146676E88829B606631645531 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-43-primary The key was successfully imported. [ 1/175] Verify package files 100% | 714.0 B/s | 173.0 B | 00m00s [ 2/175] Prepare transaction 100% | 3.9 KiB/s | 173.0 B | 00m00s [ 3/175] Installing libgcc-0:15.3.1-1. 100% | 262.0 MiB/s | 268.3 KiB | 00m00s [ 4/175] Installing publicsuffix-list- 100% | 0.0 B/s | 71.1 KiB | 00m00s [ 5/175] Installing libssh-config-0:0. 100% | 0.0 B/s | 816.0 B | 00m00s [ 6/175] Installing fedora-release-ide 100% | 867.2 KiB/s | 888.0 B | 00m00s [ 7/175] Installing fedora-gpg-keys-0: 100% | 49.5 MiB/s | 355.0 KiB | 00m00s [ 8/175] Installing fedora-repos-0:43- 100% | 0.0 B/s | 5.7 KiB | 00m00s [ 9/175] Installing fedora-release-com 100% | 24.3 MiB/s | 24.8 KiB | 00m00s [ 10/175] Installing fedora-release-0:4 100% | 15.1 KiB/s | 124.0 B | 00m00s >>> Running sysusers scriptlet: setup-0:2.15.0-26.fc43.noarch >>> Finished sysusers scriptlet: setup-0:2.15.0-26.fc43.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/175] Installing setup-0:2.15.0-26. 100% | 47.6 MiB/s | 730.6 KiB | 00m00s >>> [RPM] /etc/hosts created as /etc/hosts.rpmnew [ 12/175] Installing filesystem-0:3.18- 100% | 2.8 MiB/s | 212.8 KiB | 00m00s [ 13/175] Installing pcre2-syntax-0:10. 100% | 277.7 MiB/s | 284.3 KiB | 00m00s [ 14/175] Installing rust-srpm-macros-0 100% | 0.0 B/s | 6.4 KiB | 00m00s [ 15/175] Installing qt6-srpm-macros-0: 100% | 0.0 B/s | 748.0 B | 00m00s [ 16/175] Installing qt5-srpm-macros-0: 100% | 0.0 B/s | 776.0 B | 00m00s [ 17/175] Installing package-notes-srpm 100% | 0.0 B/s | 2.1 KiB | 00m00s [ 18/175] Installing gnat-srpm-macros-0 100% | 0.0 B/s | 1.3 KiB | 00m00s [ 19/175] Installing pkgconf-m4-0:2.3.0 100% | 0.0 B/s | 14.8 KiB | 00m00s [ 20/175] Installing gnulib-l10n-0:2024 100% | 215.5 MiB/s | 661.9 KiB | 00m00s [ 21/175] Installing coreutils-common-0 100% | 389.4 MiB/s | 11.3 MiB | 00m00s [ 22/175] Installing ncurses-base-0:6.5 100% | 86.3 MiB/s | 353.5 KiB | 00m00s [ 23/175] Installing bash-0:5.3.0-2.fc4 100% | 263.4 MiB/s | 8.4 MiB | 00m00s [ 24/175] Installing glibc-common-0:2.4 100% | 59.9 MiB/s | 1.0 MiB | 00m00s [ 25/175] Installing glibc-gconv-extra- 100% | 291.2 MiB/s | 7.3 MiB | 00m00s [ 26/175] Installing glibc-0:2.42-17.fc 100% | 180.9 MiB/s | 6.7 MiB | 00m00s [ 27/175] Installing ncurses-libs-0:6.5 100% | 310.1 MiB/s | 952.8 KiB | 00m00s [ 28/175] Installing glibc-minimal-lang 100% | 0.0 B/s | 124.0 B | 00m00s [ 29/175] Installing zlib-ng-compat-0:2 100% | 158.7 MiB/s | 162.6 KiB | 00m00s [ 30/175] Installing bzip2-libs-0:1.0.8 100% | 79.8 MiB/s | 81.7 KiB | 00m00s [ 31/175] Installing libgpg-error-0:1.5 100% | 60.0 MiB/s | 921.1 KiB | 00m00s [ 32/175] Installing libstdc++-0:15.3.1 100% | 356.1 MiB/s | 2.8 MiB | 00m00s [ 33/175] Installing xz-libs-1:5.8.1-4. 100% | 213.8 MiB/s | 218.9 KiB | 00m00s [ 34/175] Installing libassuan-0:2.5.7- 100% | 161.7 MiB/s | 165.6 KiB | 00m00s [ 35/175] Installing libgcrypt-0:1.11.1 100% | 393.7 MiB/s | 1.6 MiB | 00m00s [ 36/175] Installing readline-0:8.3-2.f 100% | 250.9 MiB/s | 513.9 KiB | 00m00s [ 37/175] Installing gmp-1:6.3.0-4.fc43 100% | 397.2 MiB/s | 813.5 KiB | 00m00s [ 38/175] Installing libuuid-0:2.41.5-1 100% | 0.0 B/s | 38.4 KiB | 00m00s [ 39/175] Installing libacl-0:2.4.0-1.f 100% | 0.0 B/s | 40.7 KiB | 00m00s [ 40/175] Installing popt-0:1.19-9.fc43 100% | 68.1 MiB/s | 139.4 KiB | 00m00s [ 41/175] Installing libzstd-0:1.5.7-2. 100% | 391.2 MiB/s | 801.1 KiB | 00m00s [ 42/175] Installing elfutils-libelf-0: 100% | 479.6 MiB/s | 1.4 MiB | 00m00s [ 43/175] Installing npth-0:1.8-3.fc43. 100% | 0.0 B/s | 50.7 KiB | 00m00s [ 44/175] Installing libblkid-0:2.41.5- 100% | 257.3 MiB/s | 263.4 KiB | 00m00s [ 45/175] Installing libxcrypt-0:4.5.2- 100% | 281.3 MiB/s | 288.0 KiB | 00m00s [ 46/175] Installing sqlite-libs-0:3.50 100% | 379.1 MiB/s | 1.5 MiB | 00m00s [ 47/175] Installing gnupg2-gpgconf-0:2 100% | 18.9 MiB/s | 252.1 KiB | 00m00s [ 48/175] Installing json-c-0:0.18-7.fc 100% | 82.0 MiB/s | 84.0 KiB | 00m00s [ 49/175] Installing libunistring-0:1.1 100% | 345.3 MiB/s | 1.7 MiB | 00m00s [ 50/175] Installing libidn2-0:2.3.8-2. 100% | 181.9 MiB/s | 558.7 KiB | 00m00s [ 51/175] Installing libtasn1-0:4.21.0- 100% | 21.8 MiB/s | 178.6 KiB | 00m00s [ 52/175] Installing crypto-policies-0: 100% | 42.0 MiB/s | 172.2 KiB | 00m00s [ 53/175] Installing gnupg2-verify-0:2. 100% | 24.4 MiB/s | 349.9 KiB | 00m00s [ 54/175] Installing dwz-0:0.16-2.fc43. 100% | 21.7 MiB/s | 288.5 KiB | 00m00s [ 55/175] Installing mpfr-0:4.2.2-2.fc4 100% | 271.6 MiB/s | 834.4 KiB | 00m00s [ 56/175] Installing gawk-0:5.3.2-2.fc4 100% | 100.9 MiB/s | 1.8 MiB | 00m00s [ 57/175] Installing libksba-0:1.6.7-4. 100% | 195.8 MiB/s | 401.1 KiB | 00m00s [ 58/175] Installing unzip-0:6.0-67.fc4 100% | 29.3 MiB/s | 389.8 KiB | 00m00s [ 59/175] Installing file-libs-0:5.46-9 100% | 659.0 MiB/s | 11.9 MiB | 00m00s [ 60/175] Installing file-0:5.46-9.fc43 100% | 7.6 MiB/s | 101.7 KiB | 00m00s [ 61/175] Installing libeconf-0:0.7.9-2 100% | 65.0 MiB/s | 66.5 KiB | 00m00s [ 62/175] Installing libsepol-0:3.9-2.f 100% | 267.9 MiB/s | 822.9 KiB | 00m00s [ 63/175] Installing lz4-libs-0:1.10.0- 100% | 158.6 MiB/s | 162.5 KiB | 00m00s [ 64/175] Installing libsmartcols-0:2.4 100% | 177.2 MiB/s | 181.5 KiB | 00m00s [ 65/175] Installing libcap-ng-0:0.9.6- 100% | 69.0 MiB/s | 70.6 KiB | 00m00s [ 66/175] Installing audit-libs-0:4.2.1 100% | 187.9 MiB/s | 384.9 KiB | 00m00s [ 67/175] Installing pam-libs-0:1.7.1-5 100% | 125.7 MiB/s | 128.8 KiB | 00m00s [ 68/175] Installing libcap-0:2.76-4.fc 100% | 16.1 MiB/s | 214.3 KiB | 00m00s [ 69/175] Installing systemd-libs-0:258 100% | 335.4 MiB/s | 2.3 MiB | 00m00s [ 70/175] Installing lua-libs-0:5.4.8-4 100% | 276.7 MiB/s | 283.3 KiB | 00m00s [ 71/175] Installing libattr-0:2.6.0-1. 100% | 0.0 B/s | 25.2 KiB | 00m00s [ 72/175] Installing alternatives-0:1.3 100% | 5.2 MiB/s | 63.8 KiB | 00m00s [ 73/175] Installing pcre2-0:10.47-1.fc 100% | 343.8 MiB/s | 704.1 KiB | 00m00s [ 74/175] Installing libselinux-0:3.9-5 100% | 189.8 MiB/s | 194.4 KiB | 00m00s [ 75/175] Installing grep-0:3.12-2.fc43 100% | 62.7 MiB/s | 1.0 MiB | 00m00s [ 76/175] Installing findutils-1:4.10.0 100% | 109.3 MiB/s | 1.9 MiB | 00m00s [ 77/175] Installing sed-0:4.9-5.fc43.x 100% | 52.8 MiB/s | 865.5 KiB | 00m00s [ 78/175] Installing xz-1:5.8.1-4.fc43. 100% | 78.3 MiB/s | 1.3 MiB | 00m00s [ 79/175] Installing libmount-0:2.41.5- 100% | 184.4 MiB/s | 377.7 KiB | 00m00s [ 80/175] Installing libffi-0:3.5.2-1.f 100% | 83.2 MiB/s | 85.2 KiB | 00m00s [ 81/175] Installing p11-kit-0:0.26.5-1 100% | 127.3 MiB/s | 2.5 MiB | 00m00s [ 82/175] Installing p11-kit-trust-0:0. 100% | 21.8 MiB/s | 467.9 KiB | 00m00s [ 83/175] Installing openssl-libs-1:3.5 100% | 372.6 MiB/s | 8.9 MiB | 00m00s [ 84/175] Installing coreutils-0:9.7-10 100% | 159.7 MiB/s | 5.4 MiB | 00m00s [ 85/175] Installing ca-certificates-0: 100% | 2.2 MiB/s | 2.5 MiB | 00m01s [ 86/175] Installing gzip-0:1.13-4.fc43 100% | 27.5 MiB/s | 394.4 KiB | 00m00s [ 87/175] Installing libfsverity-0:1.6- 100% | 0.0 B/s | 29.5 KiB | 00m00s [ 88/175] Installing rpm-sequoia-0:1.10 100% | 350.2 MiB/s | 2.5 MiB | 00m00s [ 89/175] Installing libevent-0:2.1.13- 100% | 289.1 MiB/s | 888.2 KiB | 00m00s [ 90/175] Installing util-linux-core-0: 100% | 82.0 MiB/s | 1.5 MiB | 00m00s [ 91/175] Installing tar-2:1.35-6.fc43. 100% | 147.9 MiB/s | 3.0 MiB | 00m00s [ 92/175] Installing libsemanage-0:3.9- 100% | 303.0 MiB/s | 310.2 KiB | 00m00s [ 93/175] Installing systemd-standalone 100% | 22.4 MiB/s | 298.1 KiB | 00m00s [ 94/175] Installing rpm-libs-0:6.0.2-1 100% | 304.4 MiB/s | 935.1 KiB | 00m00s [ 95/175] Installing libusb1-0:1.0.30-1 100% | 19.3 MiB/s | 177.7 KiB | 00m00s >>> Running sysusers scriptlet: tpm2-tss-0:4.1.3-8.fc43.x86_64 >>> Finished sysusers scriptlet: tpm2-tss-0:4.1.3-8.fc43.x86_64 >>> Scriptlet output: >>> Creating group 'tss' with GID 59. >>> Creating user 'tss' (Account used for TPM access) with UID 59 and GID 59. >>> [ 96/175] Installing tpm2-tss-0:4.1.3-8 100% | 262.0 MiB/s | 1.6 MiB | 00m00s [ 97/175] Installing ima-evm-utils-libs 100% | 60.5 MiB/s | 62.0 KiB | 00m00s [ 98/175] Installing gnupg2-gpg-agent-0 100% | 31.4 MiB/s | 675.4 KiB | 00m00s [ 99/175] Installing liblastlog2-0:2.41 100% | 6.4 MiB/s | 39.5 KiB | 00m00s [100/175] Installing zstd-0:1.5.7-2.fc4 100% | 100.6 MiB/s | 1.7 MiB | 00m00s [101/175] Installing zip-0:3.0-44.fc43. 100% | 48.7 MiB/s | 698.4 KiB | 00m00s [102/175] Installing gnupg2-keyboxd-0:2 100% | 33.0 MiB/s | 202.7 KiB | 00m00s [103/175] Installing libpsl-0:0.21.5-6. 100% | 75.7 MiB/s | 77.5 KiB | 00m00s [104/175] Installing libfdisk-0:2.41.5- 100% | 186.2 MiB/s | 381.4 KiB | 00m00s [105/175] Installing nettle-0:3.10.1-2. 100% | 258.4 MiB/s | 793.7 KiB | 00m00s [106/175] Installing gnutls-0:3.8.13-1. 100% | 376.7 MiB/s | 3.8 MiB | 00m00s [107/175] Installing libxml2-0:2.12.10- 100% | 94.7 MiB/s | 1.7 MiB | 00m00s [108/175] Installing libarchive-0:3.8.4 100% | 311.6 MiB/s | 957.2 KiB | 00m00s [109/175] Installing bzip2-0:1.0.8-21.f 100% | 7.5 MiB/s | 99.8 KiB | 00m00s [110/175] Installing add-determinism-0: 100% | 127.9 MiB/s | 2.3 MiB | 00m00s [111/175] Installing build-reproducibil 100% | 0.0 B/s | 1.0 KiB | 00m00s [112/175] Installing cpio-0:2.15-6.fc43 100% | 68.7 MiB/s | 1.1 MiB | 00m00s [113/175] Installing diffutils-0:3.12-3 100% | 91.8 MiB/s | 1.6 MiB | 00m00s [114/175] Installing ed-0:1.22.2-1.fc43 100% | 11.3 MiB/s | 150.4 KiB | 00m00s [115/175] Installing patch-0:2.8-2.fc43 100% | 16.9 MiB/s | 224.3 KiB | 00m00s [116/175] Installing libgomp-0:15.3.1-1 100% | 265.2 MiB/s | 543.2 KiB | 00m00s [117/175] Installing jansson-0:2.14-3.f 100% | 88.3 MiB/s | 90.5 KiB | 00m00s [118/175] Installing libpkgconf-0:2.3.0 100% | 77.4 MiB/s | 79.2 KiB | 00m00s [119/175] Installing pkgconf-0:2.3.0-3. 100% | 6.8 MiB/s | 91.0 KiB | 00m00s [120/175] Installing pkgconf-pkg-config 100% | 147.8 KiB/s | 1.8 KiB | 00m00s [121/175] Installing gdbm-libs-1:1.23-1 100% | 128.5 MiB/s | 131.6 KiB | 00m00s [122/175] Installing cyrus-sasl-lib-0:2 100% | 127.6 MiB/s | 2.3 MiB | 00m00s [123/175] Installing libpfm-0:4.13.0-20 100% | 573.5 MiB/s | 1.7 MiB | 00m00s [124/175] Installing libtool-ltdl-0:2.5 100% | 69.6 MiB/s | 71.2 KiB | 00m00s [125/175] Installing openldap-0:2.6.15- 100% | 215.8 MiB/s | 663.0 KiB | 00m00s [126/175] Installing gnupg2-dirmngr-0:2 100% | 28.9 MiB/s | 621.1 KiB | 00m00s [127/175] Installing gnupg2-0:2.4.9-5.f 100% | 218.8 MiB/s | 6.6 MiB | 00m00s [128/175] Installing rpm-sign-libs-0:6. 100% | 39.5 MiB/s | 40.5 KiB | 00m00s [129/175] Installing gpgverify-0:2.2-3. 100% | 0.0 B/s | 9.4 KiB | 00m00s [130/175] Installing xxhash-libs-0:0.8. 100% | 89.2 MiB/s | 91.4 KiB | 00m00s [131/175] Installing keyutils-libs-0:1. 100% | 54.4 MiB/s | 55.7 KiB | 00m00s [132/175] Installing libcom_err-0:1.47. 100% | 62.7 MiB/s | 64.2 KiB | 00m00s [133/175] Installing libverto-0:0.3.2-1 100% | 26.6 MiB/s | 27.2 KiB | 00m00s [134/175] Installing krb5-libs-0:1.22.2 100% | 291.5 MiB/s | 2.3 MiB | 00m00s [135/175] Installing libssh-0:0.11.5-1. 100% | 280.8 MiB/s | 575.1 KiB | 00m00s [136/175] Installing libbrotli-0:1.2.0- 100% | 282.4 MiB/s | 867.7 KiB | 00m00s [137/175] Installing libnghttp2-0:1.66. 100% | 159.4 MiB/s | 163.2 KiB | 00m00s [138/175] Installing libcurl-0:8.15.0-1 100% | 295.6 MiB/s | 908.1 KiB | 00m00s [139/175] Installing curl-0:8.15.0-12.f 100% | 18.9 MiB/s | 463.9 KiB | 00m00s [140/175] Installing rpm-0:6.0.2-1.fc43 100% | 75.7 MiB/s | 2.6 MiB | 00m00s [141/175] Installing efi-srpm-macros-0: 100% | 40.2 MiB/s | 41.1 KiB | 00m00s [142/175] Installing java-srpm-macros-0 100% | 0.0 B/s | 1.1 KiB | 00m00s [143/175] Installing lua-srpm-macros-0: 100% | 0.0 B/s | 1.9 KiB | 00m00s [144/175] Installing tree-sitter-srpm-m 100% | 0.0 B/s | 9.3 KiB | 00m00s [145/175] Installing zig-srpm-macros-0: 100% | 0.0 B/s | 1.7 KiB | 00m00s [146/175] Installing cmake-srpm-macros- 100% | 0.0 B/s | 804.0 B | 00m00s [147/175] Installing filesystem-srpm-ma 100% | 0.0 B/s | 38.9 KiB | 00m00s [148/175] Installing elfutils-default-y 100% | 340.5 KiB/s | 2.0 KiB | 00m00s [149/175] Installing elfutils-libs-0:0. 100% | 227.0 MiB/s | 697.2 KiB | 00m00s [150/175] Installing elfutils-debuginfo 100% | 6.0 MiB/s | 86.2 KiB | 00m00s [151/175] Installing elfutils-0:0.196-1 100% | 148.1 MiB/s | 3.1 MiB | 00m00s [152/175] Installing binutils-0:2.45.1- 100% | 325.9 MiB/s | 27.4 MiB | 00m00s [153/175] Installing gdb-minimal-0:17.2 100% | 283.7 MiB/s | 13.6 MiB | 00m00s [154/175] Installing debugedit-0:5.2-3. 100% | 15.2 MiB/s | 217.3 KiB | 00m00s [155/175] Installing rpm-build-libs-0:6 100% | 258.9 MiB/s | 265.1 KiB | 00m00s [156/175] Installing gnome-srpm-macros- 100% | 0.0 B/s | 4.1 KiB | 00m00s [157/175] Installing perl-srpm-macros-0 100% | 0.0 B/s | 1.1 KiB | 00m00s [158/175] Installing openblas-srpm-macr 100% | 0.0 B/s | 392.0 B | 00m00s [159/175] Installing ocaml-srpm-macros- 100% | 0.0 B/s | 2.1 KiB | 00m00s [160/175] Installing kernel-srpm-macros 100% | 0.0 B/s | 2.3 KiB | 00m00s [161/175] Installing ghc-srpm-macros-0: 100% | 0.0 B/s | 1.0 KiB | 00m00s [162/175] Installing gap-srpm-macros-0: 100% | 0.0 B/s | 2.7 KiB | 00m00s [163/175] Installing fpc-srpm-macros-0: 100% | 0.0 B/s | 420.0 B | 00m00s [164/175] Installing ansible-srpm-macro 100% | 0.0 B/s | 36.2 KiB | 00m00s [165/175] Installing rpm-build-0:6.0.2- 100% | 19.2 MiB/s | 295.6 KiB | 00m00s [166/175] Installing pyproject-srpm-mac 100% | 0.0 B/s | 4.0 KiB | 00m00s [167/175] Installing redhat-rpm-config- 100% | 92.3 MiB/s | 189.1 KiB | 00m00s [168/175] Installing forge-srpm-macros- 100% | 0.0 B/s | 40.3 KiB | 00m00s [169/175] Installing fonts-srpm-macros- 100% | 55.7 MiB/s | 57.0 KiB | 00m00s [170/175] Installing go-srpm-macros-0:3 100% | 61.6 MiB/s | 63.0 KiB | 00m00s [171/175] Installing python-srpm-macros 100% | 51.6 MiB/s | 52.8 KiB | 00m00s [172/175] Installing util-linux-0:2.41. 100% | 96.3 MiB/s | 3.6 MiB | 00m00s [173/175] Installing shadow-utils-2:4.1 100% | 136.9 MiB/s | 4.0 MiB | 00m00s [174/175] Installing which-0:2.23-3.fc4 100% | 6.4 MiB/s | 85.7 KiB | 00m00s [175/175] Installing info-0:7.2-7.fc43. 100% | 240.2 KiB/s | 354.3 KiB | 00m01s Complete! Finish: installing minimal buildroot with dnf5 Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: add-determinism-0.6.0-3.fc43.x86_64 alternatives-1.33-3.fc43.x86_64 ansible-srpm-macros-1-18.1.fc43.noarch audit-libs-4.2.1-1.fc43.x86_64 bash-5.3.0-2.fc43.x86_64 binutils-2.45.1-5.fc43.x86_64 build-reproducibility-srpm-macros-0.6.0-3.fc43.noarch bzip2-1.0.8-21.fc43.x86_64 bzip2-libs-1.0.8-21.fc43.x86_64 ca-certificates-2026.2.92_v9.0.319-2.fc43.noarch cmake-srpm-macros-3.31.11-1.fc43.noarch coreutils-9.7-10.fc43.x86_64 coreutils-common-9.7-10.fc43.x86_64 cpio-2.15-6.fc43.x86_64 crypto-policies-20251125-1.git63291f8.fc43.noarch curl-8.15.0-12.fc43.x86_64 cyrus-sasl-lib-2.1.28-33.fc43.x86_64 debugedit-5.2-3.fc43.x86_64 diffutils-3.12-3.fc43.x86_64 dwz-0.16-2.fc43.x86_64 ed-1.22.2-1.fc43.x86_64 efi-srpm-macros-6-4.fc43.noarch elfutils-0.196-1.fc43.x86_64 elfutils-debuginfod-client-0.196-1.fc43.x86_64 elfutils-default-yama-scope-0.196-1.fc43.noarch elfutils-libelf-0.196-1.fc43.x86_64 elfutils-libs-0.196-1.fc43.x86_64 fedora-gpg-keys-43-2.noarch fedora-release-43-27.noarch fedora-release-common-43-27.noarch fedora-release-identity-basic-43-27.noarch fedora-repos-43-2.noarch file-5.46-9.fc43.x86_64 file-libs-5.46-9.fc43.x86_64 filesystem-3.18-50.fc43.x86_64 filesystem-srpm-macros-3.18-50.fc43.noarch findutils-4.10.0-6.fc43.x86_64 fonts-srpm-macros-2.0.5-23.fc43.noarch forge-srpm-macros-0.4.0-3.fc43.noarch fpc-srpm-macros-1.3-15.fc43.noarch gap-srpm-macros-2-1.fc43.noarch gawk-5.3.2-2.fc43.x86_64 gdb-minimal-17.2-2.fc43.x86_64 gdbm-libs-1.23-10.fc43.x86_64 ghc-srpm-macros-1.9.2-3.fc43.noarch glibc-2.42-17.fc43.x86_64 glibc-common-2.42-17.fc43.x86_64 glibc-gconv-extra-2.42-17.fc43.x86_64 glibc-minimal-langpack-2.42-17.fc43.x86_64 gmp-6.3.0-4.fc43.x86_64 gnat-srpm-macros-7-1.fc43.noarch gnome-srpm-macros-1.0-1.fc43.noarch gnulib-l10n-20241231-1.fc43.noarch gnupg2-2.4.9-5.fc43.x86_64 gnupg2-dirmngr-2.4.9-5.fc43.x86_64 gnupg2-gpg-agent-2.4.9-5.fc43.x86_64 gnupg2-gpgconf-2.4.9-5.fc43.x86_64 gnupg2-keyboxd-2.4.9-5.fc43.x86_64 gnupg2-verify-2.4.9-5.fc43.x86_64 gnutls-3.8.13-1.fc43.x86_64 go-srpm-macros-3.8.0-1.fc43.noarch gpg-pubkey-c6e7f081cf80e13146676e88829b606631645531-66b6dccf gpgverify-2.2-3.fc43.noarch grep-3.12-2.fc43.x86_64 gzip-1.13-4.fc43.x86_64 ima-evm-utils-libs-1.6.2-6.fc43.x86_64 info-7.2-7.fc43.x86_64 jansson-2.14-3.fc43.x86_64 java-srpm-macros-1-7.fc43.noarch json-c-0.18-7.fc43.x86_64 kernel-srpm-macros-1.0-27.fc43.noarch keyutils-libs-1.6.3-6.fc43.x86_64 krb5-libs-1.22.2-4.fc43.x86_64 libacl-2.4.0-1.fc43.x86_64 libarchive-3.8.4-1.fc43.x86_64 libassuan-2.5.7-4.fc43.x86_64 libattr-2.6.0-1.fc43.x86_64 libblkid-2.41.5-1.fc43.x86_64 libbrotli-1.2.0-1.fc43.x86_64 libcap-2.76-4.fc43.x86_64 libcap-ng-0.9.6-1.fc43.x86_64 libcom_err-1.47.3-2.fc43.x86_64 libcurl-8.15.0-12.fc43.x86_64 libeconf-0.7.9-2.fc43.x86_64 libevent-2.1.13-1.fc43.x86_64 libfdisk-2.41.5-1.fc43.x86_64 libffi-3.5.2-1.fc43.x86_64 libfsverity-1.6-3.fc43.x86_64 libgcc-15.3.1-1.fc43.x86_64 libgcrypt-1.11.1-4.fc43.x86_64 libgomp-15.3.1-1.fc43.x86_64 libgpg-error-1.55-2.fc43.x86_64 libidn2-2.3.8-2.fc43.x86_64 libksba-1.6.7-4.fc43.x86_64 liblastlog2-2.41.5-1.fc43.x86_64 libmount-2.41.5-1.fc43.x86_64 libnghttp2-1.66.0-3.fc43.x86_64 libpfm-4.13.0-20.fc43.x86_64 libpkgconf-2.3.0-3.fc43.x86_64 libpsl-0.21.5-6.fc43.x86_64 libselinux-3.9-5.fc43.x86_64 libsemanage-3.9-4.fc43.x86_64 libsepol-3.9-2.fc43.x86_64 libsmartcols-2.41.5-1.fc43.x86_64 libssh-0.11.5-1.fc43.x86_64 libssh-config-0.11.5-1.fc43.noarch libstdc++-15.3.1-1.fc43.x86_64 libtasn1-4.21.0-1.fc43.x86_64 libtool-ltdl-2.5.4-8.fc43.x86_64 libunistring-1.1-10.fc43.x86_64 libusb1-1.0.30-1.fc43.x86_64 libuuid-2.41.5-1.fc43.x86_64 libverto-0.3.2-11.fc43.x86_64 libxcrypt-4.5.2-1.fc43.x86_64 libxml2-2.12.10-5.fc43.x86_64 libzstd-1.5.7-2.fc43.x86_64 lua-libs-5.4.8-4.fc43.x86_64 lua-srpm-macros-1-16.fc43.noarch lz4-libs-1.10.0-3.fc43.x86_64 mpfr-4.2.2-2.fc43.x86_64 ncurses-base-6.5-7.20250614.fc43.noarch ncurses-libs-6.5-7.20250614.fc43.x86_64 nettle-3.10.1-2.fc43.x86_64 npth-1.8-3.fc43.x86_64 ocaml-srpm-macros-11-2.fc43.noarch openblas-srpm-macros-2-20.fc43.noarch openldap-2.6.15-1.fc43.x86_64 openssl-libs-3.5.9-1.fc43.x86_64 p11-kit-0.26.5-1.fc43.x86_64 p11-kit-trust-0.26.5-1.fc43.x86_64 package-notes-srpm-macros-0.20-1.fc43.noarch pam-libs-1.7.1-5.fc43.x86_64 patch-2.8-2.fc43.x86_64 pcre2-10.47-1.fc43.x86_64 pcre2-syntax-10.47-1.fc43.noarch perl-srpm-macros-1-60.fc43.noarch pkgconf-2.3.0-3.fc43.x86_64 pkgconf-m4-2.3.0-3.fc43.noarch pkgconf-pkg-config-2.3.0-3.fc43.x86_64 popt-1.19-9.fc43.x86_64 publicsuffix-list-dafsa-20260116-1.fc43.noarch pyproject-srpm-macros-1.23.2-1.fc43.noarch python-srpm-macros-3.14-5.fc43.noarch qt5-srpm-macros-5.15.18-1.fc43.noarch qt6-srpm-macros-6.10.3-1.fc43.noarch readline-8.3-2.fc43.x86_64 redhat-rpm-config-343-14.fc43.noarch rpm-6.0.2-1.fc43.x86_64 rpm-build-6.0.2-1.fc43.x86_64 rpm-build-libs-6.0.2-1.fc43.x86_64 rpm-libs-6.0.2-1.fc43.x86_64 rpm-sequoia-1.10.3-1.fc43.x86_64 rpm-sign-libs-6.0.2-1.fc43.x86_64 rust-srpm-macros-28.5-1.fc43.noarch sed-4.9-5.fc43.x86_64 setup-2.15.0-26.fc43.noarch shadow-utils-4.18.0-3.fc43.x86_64 sqlite-libs-3.50.2-3.fc43.x86_64 systemd-libs-258.11-1.fc43.x86_64 systemd-standalone-sysusers-258.11-1.fc43.x86_64 tar-1.35-6.fc43.x86_64 tpm2-tss-4.1.3-8.fc43.x86_64 tree-sitter-srpm-macros-0.4.2-1.fc43.noarch unzip-6.0-67.fc43.x86_64 util-linux-2.41.5-1.fc43.x86_64 util-linux-core-2.41.5-1.fc43.x86_64 which-2.23-3.fc43.x86_64 xxhash-libs-0.8.4-1.fc43.x86_64 xz-5.8.1-4.fc43.x86_64 xz-libs-5.8.1-4.fc43.x86_64 zig-srpm-macros-1-5.fc43.noarch zip-3.0-44.fc43.x86_64 zlib-ng-compat-2.3.3-2.fc43.x86_64 zstd-1.5.7-2.fc43.x86_64 Start: buildsrpm Start: rpmbuild -bs Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1792713600 Wrote: /builddir/build/SRPMS/libroadrunner-2.11.0-1.fc43.src.rpm Finish: rpmbuild -bs INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-43-x86_64-1792804411.653548/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-3z4ikown/libroadrunner/libroadrunner.spec) Config(child) 0 minutes 21 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.fc43.src.rpm) Config(fedora-43-x86_64) Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-43-x86_64-bootstrap-1792804411.653548/root. INFO: reusing tmpfs at /var/lib/mock/fedora-43-x86_64-bootstrap-1792804411.653548/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-43-x86_64-1792804411.653548/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.fc43.x86_64 rpm-sequoia-1.10.3-1.fc43.x86_64 dnf5-5.2.18.0-5.fc43.x86_64 dnf5-plugins-5.2.18.0-5.fc43.x86_64 Finish: chroot init Start: build phase for libroadrunner-2.11.0-1.fc43.src.rpm Start: build setup for libroadrunner-2.11.0-1.fc43.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1792713600 Wrote: /builddir/build/SRPMS/libroadrunner-2.11.0-1.fc43.src.rpm Updating and loading repositories: Additional repo copr_mhough_neurofedor 100% | 8.8 KiB/s | 1.5 KiB | 00m00s Copr repository 100% | 8.8 KiB/s | 1.5 KiB | 00m00s fedora 100% | 69.8 KiB/s | 24.9 KiB | 00m00s updates 100% | 80.4 KiB/s | 22.5 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing: blas-devel x86_64 3.12.0-10.fc43 fedora 132.4 KiB chrpath x86_64 0.16-26.fc43 fedora 58.4 KiB cmake x86_64 3.31.11-1.fc43 updates 34.5 MiB expat-devel x86_64 2.8.5-1.fc43 updates 237.3 KiB f2c x86_64 20210928-11.fc43 fedora 680.0 KiB gcc-c++ x86_64 15.3.1-1.fc43 updates 41.8 MiB lapack-devel x86_64 3.12.0-10.fc43 fedora 1.6 MiB libsbml-devel x86_64 5.20.5-8.fc43 fedora 354.2 MiB llvm13-devel x86_64 13.0.1-8.fc41 fedora 20.2 MiB ncurses-devel x86_64 6.5-7.20250614.fc43 fedora 893.4 KiB ninja-build x86_64 1.13.1-4.fc43 fedora 480.7 KiB poco-devel x86_64 1.14.1-2.fc43 fedora 6.4 MiB python3-devel x86_64 3.14.8-1.fc43 updates 2.0 MiB python3-libsbml x86_64 5.20.5-8.fc43 fedora 32.9 MiB python3-numpy x86_64 1:2.3.5-1.fc43 updates 41.4 MiB python3-pytest noarch 8.3.5-9.fc43 fedora 21.6 MiB rr-libstruct-devel x86_64 2.9.2-0.4.git7ff1f47.fc43 copr_base 184.7 KiB sbml-test-corpus noarch 20260923-1.fc43 copr_base 813.3 KiB sundials-devel x86_64 7.3.0-4.fc43 fedora 27.4 MiB swig x86_64 4.3.1-6.fc43 updates 6.3 MiB zlib-ng-compat-static x86_64 2.3.3-2.fc43 updates 2.1 MiB Installing dependencies: SuperLUMT-common noarch 4.0.1-6.fc43 fedora 679.2 KiB SuperLUMT64-double x86_64 4.0.1-6.fc43 fedora 157.1 KiB annobin-docs noarch 12.99-1.fc43 fedora 98.9 KiB annobin-plugin-gcc x86_64 12.99-1.fc43 fedora 1.0 MiB blas x86_64 3.12.0-10.fc43 fedora 1.8 MiB blas64 x86_64 3.12.0-10.fc43 fedora 1.3 MiB blas64_ x86_64 3.12.0-10.fc43 fedora 1.3 MiB cmake-data noarch 3.31.11-1.fc43 updates 8.5 MiB cmake-filesystem x86_64 3.31.11-1.fc43 updates 0.0 B cmake-rpm-macros noarch 3.31.11-1.fc43 updates 8.2 KiB cpp x86_64 15.3.1-1.fc43 updates 38.4 MiB emacs-filesystem noarch 1:30.0-5.fc43 fedora 0.0 B expat x86_64 2.8.5-1.fc43 updates 334.2 KiB f2c-libs x86_64 20210928-11.fc43 fedora 124.9 KiB flexiblas x86_64 3.5.0-1.fc43 updates 38.0 KiB flexiblas-netlib x86_64 3.5.0-1.fc43 updates 16.5 MiB flexiblas-netlib64 x86_64 3.5.0-1.fc43 updates 16.7 MiB flexiblas-openblas-openmp x86_64 3.5.0-1.fc43 updates 39.2 KiB flexiblas-openblas-openmp64 x86_64 3.5.0-1.fc43 updates 39.2 KiB gcc x86_64 15.3.1-1.fc43 updates 112.9 MiB gcc-gfortran x86_64 15.3.1-1.fc43 updates 40.8 MiB gcc-plugin-annobin x86_64 15.3.1-1.fc43 updates 57.2 KiB glibc-devel x86_64 2.42-17.fc43 updates 2.3 MiB jsoncpp x86_64 1.9.6-2.fc43 fedora 257.6 KiB kernel-headers x86_64 7.2.4-100.fc43 updates 7.0 MiB lapack x86_64 3.12.0-10.fc43 fedora 16.7 MiB lapack64 x86_64 3.12.0-10.fc43 fedora 10.0 MiB lapack64_ x86_64 3.12.0-10.fc43 fedora 10.0 MiB libedit x86_64 3.1-58.20260512cvs.fc43 updates 240.3 KiB libedit-devel x86_64 3.1-58.20260512cvs.fc43 updates 59.9 KiB libgfortran x86_64 15.3.1-1.fc43 updates 3.3 MiB libiodbc x86_64 3.52.16-3.fc43 fedora 672.0 KiB libmpc x86_64 1.3.1-8.fc43 fedora 160.6 KiB libpng x86_64 2:1.6.58-1.fc43 updates 245.7 KiB libpq x86_64 18.0-3.fc43 fedora 1.0 MiB libquadmath x86_64 15.3.1-1.fc43 updates 317.9 KiB libquadmath-devel x86_64 15.3.1-1.fc43 updates 22.2 KiB libsbml x86_64 5.20.5-8.fc43 fedora 9.9 MiB libstdc++-devel x86_64 15.3.1-1.fc43 updates 37.3 MiB libuv x86_64 1:1.51.0-2.fc43 fedora 570.2 KiB libxcrypt-devel x86_64 4.5.2-1.fc43 updates 31.1 KiB libxml2-devel x86_64 2.12.10-5.fc43 fedora 3.4 MiB llvm13 x86_64 13.0.1-8.fc41 fedora 36.2 MiB llvm13-libs x86_64 13.0.1-8.fc41 fedora 83.6 MiB llvm13-static x86_64 13.0.1-8.fc41 fedora 221.3 MiB make x86_64 1:4.4.1-11.fc43 fedora 1.8 MiB mariadb-connector-c x86_64 3.4.9-2.fc43 updates 493.4 KiB mariadb-connector-c-config noarch 3.4.9-2.fc43 updates 26.4 KiB minizip-ng-compat x86_64 4.0.10-2.fc43 fedora 162.5 KiB mpdecimal x86_64 4.0.1-2.fc43 fedora 217.2 KiB ncurses-c++-libs x86_64 6.5-7.20250614.fc43 fedora 153.6 KiB openblas x86_64 0.3.29-2.fc43 fedora 111.7 KiB openblas-openmp x86_64 0.3.29-2.fc43 fedora 43.7 MiB openblas-openmp64 x86_64 0.3.29-2.fc43 fedora 43.8 MiB openblas-serial x86_64 0.3.29-2.fc43 fedora 41.5 MiB openssl-devel x86_64 1:3.5.9-1.fc43 updates 4.5 MiB pcre2-devel x86_64 10.47-1.fc43 updates 2.1 MiB pcre2-utf16 x86_64 10.47-1.fc43 updates 639.2 KiB pcre2-utf32 x86_64 10.47-1.fc43 updates 611.1 KiB poco-activerecord x86_64 1.14.1-2.fc43 fedora 28.0 KiB poco-cppparser x86_64 1.14.1-2.fc43 fedora 226.8 KiB poco-crypto x86_64 1.14.1-2.fc43 fedora 304.4 KiB poco-data x86_64 1.14.1-2.fc43 fedora 2.4 MiB poco-encodings x86_64 1.14.1-2.fc43 fedora 896.7 KiB poco-foundation x86_64 1.14.1-2.fc43 fedora 2.2 MiB poco-json x86_64 1.14.1-2.fc43 fedora 401.4 KiB poco-jwt x86_64 1.14.1-2.fc43 fedora 208.4 KiB poco-mongodb x86_64 1.14.1-2.fc43 fedora 244.4 KiB poco-mysql x86_64 1.14.1-2.fc43 fedora 214.9 KiB poco-net x86_64 1.14.1-2.fc43 fedora 1.4 MiB poco-netssl x86_64 1.14.1-2.fc43 fedora 332.6 KiB poco-odbc x86_64 1.14.1-2.fc43 fedora 1.1 MiB poco-pdf x86_64 1.14.1-2.fc43 fedora 1.0 MiB poco-postgresql x86_64 1.14.1-2.fc43 fedora 475.9 KiB poco-prometheus x86_64 1.14.1-2.fc43 fedora 147.0 KiB poco-redis x86_64 1.14.1-2.fc43 fedora 142.3 KiB poco-sqlite x86_64 1.14.1-2.fc43 fedora 545.8 KiB poco-util x86_64 1.14.1-2.fc43 fedora 536.9 KiB poco-xml x86_64 1.14.1-2.fc43 fedora 553.9 KiB poco-zip x86_64 1.14.1-2.fc43 fedora 252.4 KiB pyproject-rpm-macros noarch 1.23.2-1.fc43 updates 156.3 KiB python-pip-wheel noarch 25.1.1-19.fc43 updates 1.2 MiB python-rpm-macros noarch 3.14-5.fc43 fedora 23.2 KiB python3 x86_64 3.14.8-1.fc43 updates 28.7 KiB python3-iniconfig noarch 2.1.0-3.fc43 fedora 42.4 KiB python3-libs x86_64 3.14.8-1.fc43 updates 43.5 MiB python3-numpy-f2py x86_64 1:2.3.5-1.fc43 updates 2.1 MiB python3-packaging noarch 25.0-7.fc43 fedora 607.4 KiB python3-pluggy noarch 1.6.0-4.fc43 fedora 211.0 KiB python3-rpm-generators noarch 14-13.fc43 fedora 81.7 KiB python3-rpm-macros noarch 3.14-5.fc43 fedora 6.5 KiB rhash x86_64 1.4.5-3.fc43 fedora 351.1 KiB rr-libstruct x86_64 2.9.2-0.4.git7ff1f47.fc43 copr_base 250.9 KiB suitesparse64 x86_64 7.11.0-1.fc43 fedora 45.5 MiB sundials x86_64 7.3.0-4.fc43 fedora 3.9 MiB tzdata noarch 2026e-1.fc43 updates 1.6 MiB utf8proc x86_64 2.10.0-2.fc43 fedora 372.0 KiB utf8proc-devel x86_64 2.10.0-2.fc43 fedora 32.9 KiB vim-filesystem noarch 2:9.2.1202-1.fc43 updates 40.0 B xz-devel x86_64 1:5.8.1-4.fc43 updates 258.8 KiB zlib-ng-compat-devel x86_64 2.3.3-2.fc43 updates 107.0 KiB Transaction Summary: Installing: 122 packages Total size of inbound packages is 319 MiB. Need to download 319 MiB. After this operation, 1 GiB extra will be used (install 1 GiB, remove 0 B). [ 1/122] chrpath-0:0.16-26.fc43.x86_64 100% | 2.4 MiB/s | 29.7 KiB | 00m00s [ 2/122] f2c-0:20210928-11.fc43.x86_64 100% | 17.2 MiB/s | 317.8 KiB | 00m00s [ 3/122] ninja-build-0:1.13.1-4.fc43.x 100% | 10.2 MiB/s | 198.0 KiB | 00m00s [ 4/122] python3-pytest-0:8.3.5-9.fc43 100% | 31.7 MiB/s | 2.2 MiB | 00m00s [ 5/122] python3-libsbml-0:5.20.5-8.fc 100% | 50.5 MiB/s | 4.4 MiB | 00m00s [ 6/122] blas-devel-0:3.12.0-10.fc43.x 100% | 2.4 MiB/s | 26.8 KiB | 00m00s [ 7/122] expat-devel-0:2.8.5-1.fc43.x8 100% | 18.3 MiB/s | 56.2 KiB | 00m00s [ 8/122] cmake-0:3.31.11-1.fc43.x86_64 100% | 123.6 MiB/s | 12.2 MiB | 00m00s [ 9/122] lapack-devel-0:3.12.0-10.fc43 100% | 17.6 MiB/s | 90.2 KiB | 00m00s [ 10/122] gcc-c++-0:15.3.1-1.fc43.x86_6 100% | 119.3 MiB/s | 15.4 MiB | 00m00s [ 11/122] rr-libstruct-devel-0:2.9.2-0. 100% | 140.8 KiB/s | 32.2 KiB | 00m00s [ 12/122] ncurses-devel-0:6.5-7.2025061 100% | 48.0 MiB/s | 590.2 KiB | 00m00s [ 13/122] llvm13-devel-0:13.0.1-8.fc41. 100% | 64.1 MiB/s | 3.4 MiB | 00m00s [ 14/122] poco-devel-0:1.14.1-2.fc43.x8 100% | 39.5 MiB/s | 1.2 MiB | 00m00s [ 15/122] python3-devel-0:3.14.8-1.fc43 100% | 25.2 MiB/s | 439.4 KiB | 00m00s [ 16/122] python3-numpy-1:2.3.5-1.fc43. 100% | 87.5 MiB/s | 8.2 MiB | 00m00s [ 17/122] libsbml-devel-0:5.20.5-8.fc43 100% | 130.1 MiB/s | 44.1 MiB | 00m00s [ 18/122] sbml-test-corpus-0:20260923-1 100% | 306.0 KiB/s | 73.7 KiB | 00m00s [ 19/122] zlib-ng-compat-static-0:2.3.3 100% | 93.5 MiB/s | 478.9 KiB | 00m00s [ 20/122] f2c-libs-0:20210928-11.fc43.x 100% | 20.8 MiB/s | 63.9 KiB | 00m00s [ 21/122] libsbml-0:5.20.5-8.fc43.x86_6 100% | 144.7 MiB/s | 2.5 MiB | 00m00s [ 22/122] minizip-ng-compat-0:4.0.10-2. 100% | 16.4 MiB/s | 67.1 KiB | 00m00s [ 23/122] python3-iniconfig-0:2.1.0-3.f 100% | 7.4 MiB/s | 22.9 KiB | 00m00s [ 24/122] python3-packaging-0:25.0-7.fc 100% | 52.6 MiB/s | 161.5 KiB | 00m00s [ 25/122] python3-pluggy-0:1.6.0-4.fc43 100% | 15.0 MiB/s | 61.5 KiB | 00m00s [ 26/122] sundials-devel-0:7.3.0-4.fc43 100% | 16.7 MiB/s | 3.7 MiB | 00m00s [ 27/122] blas-0:3.12.0-10.fc43.x86_64 100% | 103.0 MiB/s | 738.3 KiB | 00m00s [ 28/122] blas64-0:3.12.0-10.fc43.x86_6 100% | 36.1 MiB/s | 295.4 KiB | 00m00s [ 29/122] blas64_-0:3.12.0-10.fc43.x86_ 100% | 57.7 MiB/s | 295.6 KiB | 00m00s [ 30/122] jsoncpp-0:1.9.6-2.fc43.x86_64 100% | 24.7 MiB/s | 101.1 KiB | 00m00s [ 31/122] libuv-1:1.51.0-2.fc43.x86_64 100% | 43.3 MiB/s | 266.1 KiB | 00m00s [ 32/122] make-1:4.4.1-11.fc43.x86_64 100% | 114.3 MiB/s | 585.2 KiB | 00m00s [ 33/122] swig-0:4.3.1-6.fc43.x86_64 100% | 17.0 MiB/s | 1.7 MiB | 00m00s [ 34/122] rhash-0:1.4.5-3.fc43.x86_64 100% | 48.3 MiB/s | 197.9 KiB | 00m00s [ 35/122] cmake-filesystem-0:3.31.11-1. 100% | 3.3 MiB/s | 13.4 KiB | 00m00s [ 36/122] cmake-data-0:3.31.11-1.fc43.n 100% | 176.5 MiB/s | 2.5 MiB | 00m00s [ 37/122] expat-0:2.8.5-1.fc43.x86_64 100% | 18.0 MiB/s | 129.1 KiB | 00m00s [ 38/122] libmpc-0:1.3.1-8.fc43.x86_64 100% | 17.2 MiB/s | 70.4 KiB | 00m00s [ 39/122] rr-libstruct-0:2.9.2-0.4.git7 100% | 457.3 KiB/s | 99.7 KiB | 00m00s [ 40/122] gcc-0:15.3.1-1.fc43.x86_64 100% | 205.8 MiB/s | 39.9 MiB | 00m00s [ 41/122] lapack64_-0:3.12.0-10.fc43.x8 100% | 144.1 MiB/s | 3.0 MiB | 00m00s [ 42/122] lapack-0:3.12.0-10.fc43.x86_6 100% | 37.2 MiB/s | 12.2 MiB | 00m00s [ 43/122] llvm13-0:13.0.1-8.fc41.x86_64 100% | 80.2 MiB/s | 10.4 MiB | 00m00s [ 44/122] lapack64-0:3.12.0-10.fc43.x86 100% | 13.8 MiB/s | 3.0 MiB | 00m00s [ 45/122] ncurses-c++-libs-0:6.5-7.2025 100% | 2.5 MiB/s | 37.7 KiB | 00m00s [ 46/122] poco-activerecord-0:1.14.1-2. 100% | 1.5 MiB/s | 18.1 KiB | 00m00s [ 47/122] poco-cppparser-0:1.14.1-2.fc4 100% | 4.8 MiB/s | 88.2 KiB | 00m00s [ 48/122] poco-crypto-0:1.14.1-2.fc43.x 100% | 11.5 MiB/s | 106.4 KiB | 00m00s [ 49/122] poco-data-0:1.14.1-2.fc43.x86 100% | 42.3 MiB/s | 606.5 KiB | 00m00s [ 50/122] poco-encodings-0:1.14.1-2.fc4 100% | 36.0 MiB/s | 442.2 KiB | 00m00s [ 51/122] poco-foundation-0:1.14.1-2.fc 100% | 34.6 MiB/s | 673.3 KiB | 00m00s [ 52/122] poco-json-0:1.14.1-2.fc43.x86 100% | 12.4 MiB/s | 139.4 KiB | 00m00s [ 53/122] poco-jwt-0:1.14.1-2.fc43.x86_ 100% | 9.0 MiB/s | 74.0 KiB | 00m00s [ 54/122] poco-mongodb-0:1.14.1-2.fc43. 100% | 10.3 MiB/s | 95.1 KiB | 00m00s [ 55/122] poco-mysql-0:1.14.1-2.fc43.x8 100% | 8.9 MiB/s | 72.5 KiB | 00m00s [ 56/122] poco-net-0:1.14.1-2.fc43.x86_ 100% | 43.7 MiB/s | 447.4 KiB | 00m00s [ 57/122] poco-netssl-0:1.14.1-2.fc43.x 100% | 9.5 MiB/s | 106.6 KiB | 00m00s [ 58/122] llvm13-libs-0:13.0.1-8.fc41.x 100% | 87.2 MiB/s | 20.0 MiB | 00m00s [ 59/122] poco-odbc-0:1.14.1-2.fc43.x86 100% | 9.7 MiB/s | 298.8 KiB | 00m00s [ 60/122] poco-pdf-0:1.14.1-2.fc43.x86_ 100% | 39.1 MiB/s | 520.3 KiB | 00m00s [ 61/122] poco-postgresql-0:1.14.1-2.fc 100% | 11.5 MiB/s | 140.9 KiB | 00m00s [ 62/122] poco-prometheus-0:1.14.1-2.fc 100% | 8.3 MiB/s | 59.3 KiB | 00m00s [ 63/122] poco-redis-0:1.14.1-2.fc43.x8 100% | 7.6 MiB/s | 54.4 KiB | 00m00s [ 64/122] poco-sqlite-0:1.14.1-2.fc43.x 100% | 13.9 MiB/s | 142.7 KiB | 00m00s [ 65/122] poco-util-0:1.14.1-2.fc43.x86 100% | 16.7 MiB/s | 170.5 KiB | 00m00s [ 66/122] poco-xml-0:1.14.1-2.fc43.x86_ 100% | 20.6 MiB/s | 168.9 KiB | 00m00s [ 67/122] poco-zip-0:1.14.1-2.fc43.x86_ 100% | 11.7 MiB/s | 95.9 KiB | 00m00s [ 68/122] python3-numpy-f2py-1:2.3.5-1. 100% | 41.6 MiB/s | 510.8 KiB | 00m00s [ 69/122] llvm13-static-0:13.0.1-8.fc41 100% | 96.5 MiB/s | 29.4 MiB | 00m00s [ 70/122] sundials-0:7.3.0-4.fc43.x86_6 100% | 21.4 MiB/s | 876.6 KiB | 00m00s [ 71/122] zlib-ng-compat-devel-0:2.3.3- 100% | 2.8 MiB/s | 37.8 KiB | 00m00s [ 72/122] emacs-filesystem-1:30.0-5.fc4 100% | 748.8 KiB/s | 7.5 KiB | 00m00s [ 73/122] python3-libs-0:3.14.8-1.fc43. 100% | 130.5 MiB/s | 9.9 MiB | 00m00s [ 74/122] utf8proc-0:2.10.0-2.fc43.x86_ 100% | 5.7 MiB/s | 81.8 KiB | 00m00s [ 75/122] libiodbc-0:3.52.16-3.fc43.x86 100% | 32.8 MiB/s | 235.2 KiB | 00m00s [ 76/122] libpq-0:18.0-3.fc43.x86_64 100% | 38.2 MiB/s | 273.6 KiB | 00m00s [ 77/122] mpdecimal-0:4.0.1-2.fc43.x86_ 100% | 11.9 MiB/s | 97.1 KiB | 00m00s [ 78/122] SuperLUMT64-double-0:4.0.1-6. 100% | 13.4 MiB/s | 82.4 KiB | 00m00s [ 79/122] SuperLUMT-common-0:4.0.1-6.fc 100% | 69.7 MiB/s | 641.9 KiB | 00m00s [ 80/122] suitesparse64-0:7.11.0-1.fc43 100% | 103.0 MiB/s | 7.9 MiB | 00m00s [ 81/122] openblas-serial-0:0.3.29-2.fc 100% | 70.3 MiB/s | 5.1 MiB | 00m00s [ 82/122] cpp-0:15.3.1-1.fc43.x86_64 100% | 102.9 MiB/s | 13.1 MiB | 00m00s [ 83/122] python3-0:3.14.8-1.fc43.x86_6 100% | 1.4 MiB/s | 29.4 KiB | 00m00s [ 84/122] flexiblas-openblas-openmp-0:3 100% | 1.1 MiB/s | 17.3 KiB | 00m00s [ 85/122] flexiblas-0:3.5.0-1.fc43.x86_ 100% | 1.5 MiB/s | 23.1 KiB | 00m00s [ 86/122] flexiblas-netlib-0:3.5.0-1.fc 100% | 112.5 MiB/s | 4.5 MiB | 00m00s [ 87/122] flexiblas-openblas-openmp64-0 100% | 1.3 MiB/s | 17.2 KiB | 00m00s [ 88/122] flexiblas-netlib64-0:3.5.0-1. 100% | 69.8 MiB/s | 4.3 MiB | 00m00s [ 89/122] openblas-openmp-0:0.3.29-2.fc 100% | 78.8 MiB/s | 5.4 MiB | 00m00s [ 90/122] python-pip-wheel-0:25.1.1-19. 100% | 66.9 MiB/s | 1.2 MiB | 00m00s [ 91/122] tzdata-0:2026e-1.fc43.noarch 100% | 36.6 MiB/s | 713.0 KiB | 00m00s [ 92/122] openblas-openmp64-0:0.3.29-2. 100% | 75.8 MiB/s | 5.2 MiB | 00m00s [ 93/122] glibc-devel-0:2.42-17.fc43.x8 100% | 62.4 MiB/s | 575.1 KiB | 00m00s [ 94/122] libquadmath-0:15.3.1-1.fc43.x 100% | 20.9 MiB/s | 213.7 KiB | 00m00s [ 95/122] vim-filesystem-2:9.2.1202-1.f 100% | 2.2 MiB/s | 15.5 KiB | 00m00s [ 96/122] libstdc++-devel-0:15.3.1-1.fc 100% | 123.5 MiB/s | 5.3 MiB | 00m00s [ 97/122] libpng-2:1.6.58-1.fc43.x86_64 100% | 12.3 MiB/s | 125.8 KiB | 00m00s [ 98/122] mariadb-connector-c-0:3.4.9-2 100% | 50.4 MiB/s | 206.4 KiB | 00m00s [ 99/122] mariadb-connector-c-config-0: 100% | 4.2 MiB/s | 21.6 KiB | 00m00s [100/122] pcre2-devel-0:10.47-1.fc43.x8 100% | 59.8 MiB/s | 550.9 KiB | 00m00s [101/122] pcre2-utf16-0:10.47-1.fc43.x8 100% | 30.0 MiB/s | 246.1 KiB | 00m00s [102/122] openssl-devel-1:3.5.9-1.fc43. 100% | 127.1 MiB/s | 3.0 MiB | 00m00s [103/122] pcre2-utf32-0:10.47-1.fc43.x8 100% | 32.5 MiB/s | 232.9 KiB | 00m00s [104/122] utf8proc-devel-0:2.10.0-2.fc4 100% | 4.2 MiB/s | 17.2 KiB | 00m00s [105/122] openblas-0:0.3.29-2.fc43.x86_ 100% | 6.9 MiB/s | 42.3 KiB | 00m00s [106/122] libedit-0:3.1-58.20260512cvs. 100% | 17.1 MiB/s | 105.2 KiB | 00m00s [107/122] libedit-devel-0:3.1-58.202605 100% | 10.0 MiB/s | 40.8 KiB | 00m00s [108/122] libxml2-devel-0:2.12.10-5.fc4 100% | 85.3 MiB/s | 524.0 KiB | 00m00s [109/122] kernel-headers-0:7.2.4-100.fc 100% | 87.4 MiB/s | 1.7 MiB | 00m00s [110/122] libgfortran-0:15.3.1-1.fc43.x 100% | 8.8 MiB/s | 973.6 KiB | 00m00s [111/122] libxcrypt-devel-0:4.5.2-1.fc4 100% | 3.3 MiB/s | 30.0 KiB | 00m00s [112/122] libquadmath-devel-0:15.3.1-1. 100% | 9.1 MiB/s | 56.2 KiB | 00m00s [113/122] xz-devel-1:5.8.1-4.fc43.x86_6 100% | 7.2 MiB/s | 66.7 KiB | 00m00s [114/122] annobin-plugin-gcc-0:12.99-1. 100% | 88.4 MiB/s | 996.0 KiB | 00m00s [115/122] gcc-plugin-annobin-0:15.3.1-1 100% | 7.3 MiB/s | 67.3 KiB | 00m00s [116/122] annobin-docs-0:12.99-1.fc43.n 100% | 14.6 MiB/s | 89.5 KiB | 00m00s [117/122] pyproject-rpm-macros-0:1.23.2 100% | 6.7 MiB/s | 54.8 KiB | 00m00s [118/122] python-rpm-macros-0:3.14-5.fc 100% | 2.8 MiB/s | 17.3 KiB | 00m00s [119/122] python3-rpm-generators-0:14-1 100% | 4.0 MiB/s | 28.5 KiB | 00m00s [120/122] python3-rpm-macros-0:3.14-5.f 100% | 2.3 MiB/s | 11.8 KiB | 00m00s [121/122] cmake-rpm-macros-0:3.31.11-1. 100% | 3.2 MiB/s | 13.1 KiB | 00m00s [122/122] gcc-gfortran-0:15.3.1-1.fc43. 100% | 130.5 MiB/s | 14.6 MiB | 00m00s -------------------------------------------------------------------------------- [122/122] Total 100% | 181.9 MiB/s | 319.4 MiB | 00m02s Running transaction [ 1/124] Verify package files 100% | 101.0 B/s | 122.0 B | 00m01s [ 2/124] Prepare transaction 100% | 701.0 B/s | 122.0 B | 00m00s [ 3/124] Installing libgfortran-0:15.3 100% | 334.4 MiB/s | 3.3 MiB | 00m00s [ 4/124] Installing cmake-filesystem-0 100% | 7.4 MiB/s | 7.6 KiB | 00m00s [ 5/124] Installing libquadmath-0:15.3 100% | 311.7 MiB/s | 319.2 KiB | 00m00s [ 6/124] Installing libmpc-0:1.3.1-8.f 100% | 158.3 MiB/s | 162.1 KiB | 00m00s [ 7/124] Installing expat-0:2.8.5-1.fc 100% | 23.5 MiB/s | 336.3 KiB | 00m00s [ 8/124] Installing zlib-ng-compat-dev 100% | 106.0 MiB/s | 108.6 KiB | 00m00s [ 9/124] Installing python-rpm-macros- 100% | 0.0 B/s | 23.9 KiB | 00m00s [ 10/124] Installing openblas-0:0.3.29- 100% | 110.8 MiB/s | 113.5 KiB | 00m00s [ 11/124] Installing python3-rpm-macros 100% | 6.6 MiB/s | 6.8 KiB | 00m00s [ 12/124] Installing blas-0:3.12.0-10.f 100% | 69.3 MiB/s | 1.8 MiB | 00m00s [ 13/124] Installing lapack-0:3.12.0-10 100% | 109.2 MiB/s | 17.9 MiB | 00m00s [ 14/124] Installing blas64-0:3.12.0-10 100% | 449.3 MiB/s | 1.3 MiB | 00m00s [ 15/124] Installing blas64_-0:3.12.0-1 100% | 450.2 MiB/s | 1.4 MiB | 00m00s [ 16/124] Installing libedit-0:3.1-58.2 100% | 236.3 MiB/s | 242.0 KiB | 00m00s [ 17/124] Installing llvm13-libs-0:13.0 100% | 444.9 MiB/s | 83.6 MiB | 00m00s [ 18/124] Installing vim-filesystem-2:9 100% | 4.7 MiB/s | 4.8 KiB | 00m00s [ 19/124] Installing utf8proc-0:2.10.0- 100% | 364.7 MiB/s | 373.4 KiB | 00m00s [ 20/124] Installing poco-foundation-0: 100% | 369.9 MiB/s | 2.2 MiB | 00m00s [ 21/124] Installing poco-data-0:1.14.1 100% | 398.0 MiB/s | 2.4 MiB | 00m00s [ 22/124] Installing poco-net-0:1.14.1- 100% | 355.2 MiB/s | 1.4 MiB | 00m00s [ 23/124] Installing poco-crypto-0:1.14 100% | 298.0 MiB/s | 305.1 KiB | 00m00s [ 24/124] Installing poco-json-0:1.14.1 100% | 392.7 MiB/s | 402.1 KiB | 00m00s [ 25/124] Installing poco-xml-0:1.14.1- 100% | 270.8 MiB/s | 554.5 KiB | 00m00s [ 26/124] Installing poco-util-0:1.14.1 100% | 262.5 MiB/s | 537.6 KiB | 00m00s [ 27/124] Installing make-1:4.4.1-11.fc 100% | 100.0 MiB/s | 1.8 MiB | 00m00s [ 28/124] Installing minizip-ng-compat- 100% | 159.5 MiB/s | 163.3 KiB | 00m00s [ 29/124] Installing libsbml-0:5.20.5-8 100% | 432.0 MiB/s | 9.9 MiB | 00m00s [ 30/124] Installing rr-libstruct-0:2.9 100% | 245.8 MiB/s | 251.7 KiB | 00m00s [ 31/124] Installing poco-netssl-0:1.14 100% | 325.3 MiB/s | 333.1 KiB | 00m00s [ 32/124] Installing poco-jwt-0:1.14.1- 100% | 204.2 MiB/s | 209.1 KiB | 00m00s [ 33/124] Installing poco-mongodb-0:1.1 100% | 239.3 MiB/s | 245.1 KiB | 00m00s [ 34/124] Installing poco-prometheus-0: 100% | 144.2 MiB/s | 147.7 KiB | 00m00s [ 35/124] Installing poco-redis-0:1.14. 100% | 139.6 MiB/s | 143.0 KiB | 00m00s [ 36/124] Installing poco-activerecord- 100% | 0.0 B/s | 28.7 KiB | 00m00s [ 37/124] Installing poco-sqlite-0:1.14 100% | 266.9 MiB/s | 546.5 KiB | 00m00s [ 38/124] Installing poco-cppparser-0:1 100% | 222.1 MiB/s | 227.5 KiB | 00m00s [ 39/124] Installing poco-encodings-0:1 100% | 438.2 MiB/s | 897.4 KiB | 00m00s [ 40/124] Installing poco-zip-0:1.14.1- 100% | 247.2 MiB/s | 253.1 KiB | 00m00s [ 41/124] Installing utf8proc-devel-0:2 100% | 32.7 MiB/s | 33.4 KiB | 00m00s [ 42/124] Installing llvm13-0:13.0.1-8. 100% | 345.1 MiB/s | 36.2 MiB | 00m00s [ 43/124] Installing lapack64_-0:3.12.0 100% | 401.7 MiB/s | 10.0 MiB | 00m00s [ 44/124] Installing lapack64-0:3.12.0- 100% | 401.0 MiB/s | 10.0 MiB | 00m00s [ 45/124] Installing pyproject-rpm-macr 100% | 154.9 MiB/s | 158.6 KiB | 00m00s [ 46/124] Installing openblas-serial-0: 100% | 601.7 MiB/s | 41.5 MiB | 00m00s [ 47/124] Installing suitesparse64-0:7. 100% | 494.4 MiB/s | 45.5 MiB | 00m00s [ 48/124] Installing openblas-openmp-0: 100% | 606.8 MiB/s | 43.7 MiB | 00m00s [ 49/124] Installing flexiblas-netlib-0 100% | 317.5 MiB/s | 16.5 MiB | 00m00s [ 50/124] Installing flexiblas-0:3.5.0- 100% | 38.2 MiB/s | 39.2 KiB | 00m00s [ 51/124] Installing flexiblas-openblas 100% | 0.0 B/s | 40.1 KiB | 00m00s [ 52/124] Installing openblas-openmp64- 100% | 608.7 MiB/s | 43.8 MiB | 00m00s [ 53/124] Installing flexiblas-openblas 100% | 39.1 MiB/s | 40.1 KiB | 00m00s [ 54/124] Installing flexiblas-netlib64 100% | 314.9 MiB/s | 16.7 MiB | 00m00s [ 55/124] Installing expat-devel-0:2.8. 100% | 234.3 MiB/s | 239.9 KiB | 00m00s [ 56/124] Installing cpp-0:15.3.1-1.fc4 100% | 342.9 MiB/s | 38.4 MiB | 00m00s [ 57/124] Installing annobin-docs-0:12. 100% | 97.7 MiB/s | 100.1 KiB | 00m00s [ 58/124] Installing xz-devel-1:5.8.1-4 100% | 128.2 MiB/s | 262.6 KiB | 00m00s [ 59/124] Installing libxml2-devel-0:2. 100% | 155.3 MiB/s | 3.4 MiB | 00m00s [ 60/124] Installing libsbml-devel-0:5. 100% | 524.8 MiB/s | 354.3 MiB | 00m01s [ 61/124] Installing kernel-headers-0:7 100% | 216.6 MiB/s | 7.1 MiB | 00m00s [ 62/124] Installing glibc-devel-0:2.42 100% | 181.1 MiB/s | 2.4 MiB | 00m00s [ 63/124] Installing libxcrypt-devel-0: 100% | 16.3 MiB/s | 33.4 KiB | 00m00s [ 64/124] Installing gcc-0:15.3.1-1.fc4 100% | 393.7 MiB/s | 113.0 MiB | 00m00s [ 65/124] Installing libquadmath-devel- 100% | 23.1 MiB/s | 23.7 KiB | 00m00s [ 66/124] Installing gcc-gfortran-0:15. 100% | 340.2 MiB/s | 40.8 MiB | 00m00s [ 67/124] Installing blas-devel-0:3.12. 100% | 133.9 MiB/s | 137.1 KiB | 00m00s [ 68/124] Installing pcre2-utf32-0:10.4 100% | 298.8 MiB/s | 611.9 KiB | 00m00s [ 69/124] Installing pcre2-utf16-0:10.4 100% | 312.5 MiB/s | 640.0 KiB | 00m00s [ 70/124] Installing pcre2-devel-0:10.4 100% | 78.5 MiB/s | 2.1 MiB | 00m00s [ 71/124] Installing openssl-devel-1:3. 100% | 67.8 MiB/s | 5.5 MiB | 00m00s [ 72/124] Installing mariadb-connector- 100% | 0.0 B/s | 27.2 KiB | 00m00s [ 73/124] Installing mariadb-connector- 100% | 243.7 MiB/s | 499.1 KiB | 00m00s [ 74/124] Installing poco-mysql-0:1.14. 100% | 210.6 MiB/s | 215.6 KiB | 00m00s [ 75/124] Installing libpng-2:1.6.58-1. 100% | 241.1 MiB/s | 246.9 KiB | 00m00s [ 76/124] Installing poco-pdf-0:1.14.1- 100% | 201.1 MiB/s | 1.0 MiB | 00m00s [ 77/124] Installing libstdc++-devel-0: 100% | 446.0 MiB/s | 37.5 MiB | 00m00s [ 78/124] Installing tzdata-0:2026e-1.f 100% | 65.9 MiB/s | 1.9 MiB | 00m00s [ 79/124] Installing python-pip-wheel-0 100% | 623.0 MiB/s | 1.2 MiB | 00m00s [ 80/124] Installing SuperLUMT-common-0 100% | 332.1 MiB/s | 680.2 KiB | 00m00s [ 81/124] Installing SuperLUMT64-double 100% | 154.1 MiB/s | 157.8 KiB | 00m00s [ 82/124] Installing sundials-0:7.3.0-4 100% | 326.1 MiB/s | 3.9 MiB | 00m00s [ 83/124] Installing mpdecimal-0:4.0.1- 100% | 35.6 MiB/s | 218.8 KiB | 00m00s [ 84/124] Installing python3-libs-0:3.1 100% | 340.6 MiB/s | 43.9 MiB | 00m00s [ 85/124] Installing python3-0:3.14.8-1 100% | 2.3 MiB/s | 30.4 KiB | 00m00s [ 86/124] Installing python3-packaging- 100% | 201.8 MiB/s | 619.9 KiB | 00m00s [ 87/124] Installing cmake-rpm-macros-0 100% | 0.0 B/s | 8.9 KiB | 00m00s [ 88/124] Installing python3-rpm-genera 100% | 20.2 MiB/s | 82.9 KiB | 00m00s [ 89/124] Installing python3-numpy-1:2. 100% | 341.6 MiB/s | 41.7 MiB | 00m00s [ 90/124] Installing python3-numpy-f2py 100% | 94.4 MiB/s | 2.2 MiB | 00m00s [ 91/124] Installing python3-iniconfig- 100% | 45.4 MiB/s | 46.5 KiB | 00m00s [ 92/124] Installing python3-pluggy-0:1 100% | 212.4 MiB/s | 217.5 KiB | 00m00s [ 93/124] Installing libpq-0:18.0-3.fc4 100% | 251.0 MiB/s | 1.0 MiB | 00m00s [ 94/124] Installing poco-postgresql-0: 100% | 232.7 MiB/s | 476.6 KiB | 00m00s [ 95/124] Installing libiodbc-0:3.52.16 100% | 44.0 MiB/s | 676.0 KiB | 00m00s [ 96/124] Installing poco-odbc-0:1.14.1 100% | 360.4 MiB/s | 1.1 MiB | 00m00s [ 97/124] Installing emacs-filesystem-1 100% | 0.0 B/s | 544.0 B | 00m00s [ 98/124] Installing ncurses-c++-libs-0 100% | 75.6 MiB/s | 154.8 KiB | 00m00s [ 99/124] Installing ncurses-devel-0:6. 100% | 39.1 MiB/s | 1.0 MiB | 00m00s [100/124] Installing libedit-devel-0:3. 100% | 33.0 MiB/s | 67.5 KiB | 00m00s [101/124] Installing llvm13-static-0:13 100% | 518.4 MiB/s | 221.4 MiB | 00m00s [102/124] Installing rhash-0:1.4.5-3.fc 100% | 23.2 MiB/s | 356.4 KiB | 00m00s [103/124] Installing libuv-1:1.51.0-2.f 100% | 279.8 MiB/s | 573.0 KiB | 00m00s [104/124] Installing jsoncpp-0:1.9.6-2. 100% | 253.1 MiB/s | 259.2 KiB | 00m00s [105/124] Installing cmake-0:3.31.11-1. 100% | 311.0 MiB/s | 34.5 MiB | 00m00s [106/124] Installing cmake-data-0:3.31. 100% | 119.6 MiB/s | 9.1 MiB | 00m00s [107/124] Installing f2c-libs-0:2021092 100% | 123.3 MiB/s | 126.3 KiB | 00m00s [108/124] Installing f2c-0:20210928-11. 100% | 31.7 MiB/s | 682.1 KiB | 00m00s [109/124] Installing llvm13-devel-0:13. 100% | 225.4 MiB/s | 20.5 MiB | 00m00s [110/124] Installing poco-devel-0:1.14. 100% | 125.9 MiB/s | 6.5 MiB | 00m00s [111/124] Installing python3-pytest-0:8 100% | 357.3 MiB/s | 21.8 MiB | 00m00s [112/124] Installing python3-devel-0:3. 100% | 95.5 MiB/s | 2.0 MiB | 00m00s [113/124] Installing ninja-build-0:1.13 100% | 33.7 MiB/s | 483.8 KiB | 00m00s [114/124] Installing python3-libsbml-0: 100% | 577.7 MiB/s | 32.9 MiB | 00m00s [115/124] Installing sbml-test-corpus-0 100% | 398.5 MiB/s | 816.1 KiB | 00m00s [116/124] Installing sundials-devel-0:7 100% | 508.1 MiB/s | 27.4 MiB | 00m00s [117/124] Installing gcc-c++-0:15.3.1-1 100% | 345.5 MiB/s | 41.8 MiB | 00m00s [118/124] Installing lapack-devel-0:3.1 100% | 402.1 MiB/s | 1.6 MiB | 00m00s [119/124] Installing annobin-plugin-gcc 100% | 70.5 MiB/s | 1.0 MiB | 00m00s [120/124] Installing gcc-plugin-annobin 100% | 4.4 MiB/s | 58.8 KiB | 00m00s [121/124] Installing rr-libstruct-devel 100% | 183.0 MiB/s | 187.4 KiB | 00m00s [122/124] Installing zlib-ng-compat-sta 100% | 296.2 MiB/s | 2.1 MiB | 00m00s [123/124] Installing swig-0:4.3.1-6.fc4 100% | 155.7 MiB/s | 6.4 MiB | 00m00s [124/124] Installing chrpath-0:0.16-26. 100% | 336.4 KiB/s | 60.2 KiB | 00m00s Warning: skipped OpenPGP checks for 3 packages from repository: copr_base Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1792713600 Wrote: /builddir/build/SRPMS/libroadrunner-2.11.0-1.fc43.src.rpm Updating and loading repositories: Additional repo copr_mhough_neurofedor 100% | 13.2 KiB/s | 1.5 KiB | 00m00s Copr repository 100% | 13.1 KiB/s | 1.5 KiB | 00m00s fedora 100% | 49.1 KiB/s | 24.9 KiB | 00m01s updates 100% | 56.4 KiB/s | 22.5 KiB | 00m00s Repositories loaded. Nothing to do. Package "blas-devel-3.12.0-10.fc43.x86_64" is already installed. Package "chrpath-0.16-26.fc43.x86_64" is already installed. Package "cmake-3.31.11-1.fc43.x86_64" is already installed. Package "expat-devel-2.8.5-1.fc43.x86_64" is already installed. Package "f2c-20210928-11.fc43.x86_64" is already installed. Package "gcc-c++-15.3.1-1.fc43.x86_64" is already installed. Package "lapack-devel-3.12.0-10.fc43.x86_64" is already installed. Package "libsbml-devel-5.20.5-8.fc43.x86_64" is already installed. Package "llvm13-devel-13.0.1-8.fc41.x86_64" is already installed. Package "ncurses-devel-6.5-7.20250614.fc43.x86_64" is already installed. Package "ninja-build-1.13.1-4.fc43.x86_64" is already installed. Package "poco-devel-1.14.1-2.fc43.x86_64" is already installed. Package "python3-devel-3.14.8-1.fc43.x86_64" is already installed. Package "python3-libsbml-5.20.5-8.fc43.x86_64" is already installed. Package "python3-numpy-1:2.3.5-1.fc43.x86_64" is already installed. Package "python3-pytest-8.3.5-9.fc43.noarch" is already installed. Package "rr-libstruct-devel-2.9.2-0.4.git7ff1f47.fc43.x86_64" is already installed. Package "sbml-test-corpus-20260923-1.fc43.noarch" is already installed. Package "sundials-devel-7.3.0-4.fc43.x86_64" is already installed. Package "swig-4.3.1-6.fc43.x86_64" is already installed. Package "zlib-ng-compat-static-2.3.3-2.fc43.x86_64" is already installed. Finish: build setup for libroadrunner-2.11.0-1.fc43.src.rpm Start: rpmbuild libroadrunner-2.11.0-1.fc43.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1792713600 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.aMpxz9 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.hMG7l6 + 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/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/libroadrunner-2.11.0-tests-distrib-braces.patch + 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.9LQ5RC + 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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -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 15.3.1 -- The C compiler identification is GNU 15.3.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 -- ROADRUNNER_GIT_BRANCH : git not found, unknown git branch -- ROADRUNNER_GIT_LAST_COMMIT : git not found, unknown git commit could not find git -- 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 "4.5") -- Found OpenMP_CXX: -fopenmp (found version "4.5") -- Found OpenMP: TRUE (found version "4.5") -- 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.3.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.3.1", minimum required is "4.0.1") found components: python java -- SWIG found: /usr/bin/swig -- swig_version 4.3.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.3.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.3.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.3.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.3.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.x86_64 ROADRUNNER_VERSION 2.11.0 CMAKE_CXX_COMPILER_ID GNU CMAKE_CXX_COMPILER_VERSION 15.3.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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 x86_64 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-x86_64-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.3.5 End Summary ################################################################################ -- Configuring done (2.4s) CMake Warning (dev) at /usr/share/cmake/Modules/UseSWIG.cmake:943 (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.1s) 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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const bool&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const unsigned int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const unsigned int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const unsigned int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const long int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const long int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const long int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const long unsigned int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const long unsigned int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const long unsigned int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const float&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const float&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const float&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const double&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const double&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const double&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const char&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const char&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const char&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const unsigned char&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const unsigned char&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const unsigned char&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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) || | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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++) { | ~~^~~~~~~ [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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 /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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const bool&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const unsigned int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const unsigned int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const unsigned int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const long int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const long int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const long int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const long unsigned int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const long unsigned int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const long unsigned int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const float&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const float&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const float&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const double&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const double&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const double&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const char&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const char&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const char&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const unsigned char&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const unsigned char&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const unsigned char&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/ForwardSensitivitySolver.h:13: /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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 /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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const bool&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const unsigned int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const unsigned int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const unsigned int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const long int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const long int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const long int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const long unsigned int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const long unsigned int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const long unsigned int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const float&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const float&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const float&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const double&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const double&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const double&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const char&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const char&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const char&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const unsigned char&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const unsigned char&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const unsigned char&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const bool&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const unsigned int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const unsigned int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const unsigned int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const long int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const long int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const long int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const long unsigned int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const long unsigned int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const long unsigned int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const float&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const float&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const float&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const double&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const double&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const double&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const char&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const char&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const char&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const unsigned char&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const unsigned char&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const unsigned char&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const bool&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const unsigned int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const unsigned int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const unsigned int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const long int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const long int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const long int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const long unsigned int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const long unsigned int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const long unsigned int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const float&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const float&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const float&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const double&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const double&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const double&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const char&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const char&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const char&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const unsigned char&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const unsigned char&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const unsigned char&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/ForwardSensitivitySolver.h:13: /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 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -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 /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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const bool&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const unsigned int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const unsigned int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const unsigned int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const long int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const long int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const long int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const long unsigned int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const long unsigned int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const long unsigned int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const float&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const float&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const float&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const double&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const double&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const double&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const char&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const char&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const char&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const unsigned char&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const unsigned char&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const unsigned char&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const bool&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const unsigned int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const unsigned int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const unsigned int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const long int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const long int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const long int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const long unsigned int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const long unsigned int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const long unsigned int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const float&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const float&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const float&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const double&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const double&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const double&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const char&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const char&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const char&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const unsigned char&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const unsigned char&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const unsigned char&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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 >&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl >() const::&, const std::__cxx11::basic_string, std::allocator >&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result >() const::&, const std::__cxx11::basic_string, std::allocator >&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result >() const::&, const std::__cxx11::basic_string, std::allocator >&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result >() const::, const std::__cxx11::basic_string, std::allocator >&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result >() const::, const std::__cxx11::basic_string, std::allocator >&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const bool&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const unsigned int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const unsigned int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const unsigned int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const long int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const long int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const long int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const long unsigned int&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const long unsigned int&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const long unsigned int&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const float&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const float&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const float&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const double&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const double&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const double&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const char&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const char&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const char&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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++/15/type_traits:2782: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&}]’ 2782 | std::declval<_Fn>()(std::declval<_Args>()...) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:2793:60: required from ‘struct std::__result_of_impl() const::&, const unsigned char&>’ 2793 | using type = decltype(_S_test<_Functor, _ArgTypes...>(0)); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::&, const unsigned char&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::&, const unsigned char&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944:44: [ skipping 6 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/c++/15/type_traits:2798:12: required from ‘struct std::__invoke_result() const::, const bool&>’ 2798 | struct __invoke_result | ^~~~~~~~~~~~~~~ /usr/include/c++/15/type_traits:3285:12: required from ‘struct std::invoke_result() const::, const bool&>’ 3285 | struct invoke_result | ^~~~~~~~~~~~~ /usr/include/c++/15/variant:1129: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]’ 1129 | return __same_types< | ^~~~~~~~~~~~~ 1130 | invoke_result_t<_Visitor, __get_t<_Idxs, _Variant>>... | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1131 | >; | ~ /usr/include/c++/15/variant:1944: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]’ 1943 | constexpr bool __visit_rettypes_match = __detail::__variant:: | ~~~~~~~~~~~~~~~~~~~~~ 1944 | __check_visitor_results<_Visitor, _Vp>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 1945 | 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, from /builddir/build/BUILD/libroadrunner-2.11.0-build/roadrunner-2.11.0/source/ForwardSensitivitySolver.h:13: /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.9LQ5RC (%build) Bad exit status from /var/tmp/rpm-tmp.9LQ5RC (%build) Finish: rpmbuild libroadrunner-2.11.0-1.fc43.src.rpm Finish: build phase for libroadrunner-2.11.0-1.fc43.src.rpm INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-43-x86_64-1792804411.653548/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.fc43.src.rpm) Config(fedora-43-x86_64) 0 minutes 50 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 9c13117309194e41ac00cbc916ba1a81 -D /var/lib/mock/fedora-43-x86_64-1792804411.653548/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 x86_64 --nodeps /builddir/build/originals/libroadrunner.spec' Copr build error: Build failed